Welcome and shared starting point
Parthee introduces the day, the initiative and the ambition to share.
Reading & motion
Stops motion. Your device’s reduced-motion setting always takes priority.
A shared development project
An open agent harness for the public sector.
We are building the framework around AI agents so more people can develop, test and share solutions — with clear rules for data, tools and human approval.
The first version is taking shape. Experience will shape the next.
Our next shared test
09.30–15.30 · KL-huset
Rooms 2-01 & 2-02
Vibecoding with Corti S1 and a public-sector agent harness. We test the parts that are ready and gather feedback for the next version.
In person. Facilitated by Parthee. Participation by arrangement. Bring a laptop, charger and an idea.
About the day and participation ↗45 minutes of shared introduction, including all talks and transitions. 3 hours and 45 minutes of building time across two sessions.
Parthee introduces the day, the initiative and the ambition to share.
Why Corti supports the initiative and how to get help.
Why Promte supports the initiative and how to get help.
A perspective on the collaboration. If this session is not confirmed, we will start earlier.
Where teams can get help, and transitions between talks.
Setup and access to the services. A help desk for anyone needing further assistance.
12–13 municipalities, no more than 2 minutes each.
Define the scope of the task and build a first version.
Exchange ideas across teams.
Keep building, test each other’s solutions, fix errors and collect links.
Wrap-up, sharing and a date for the online follow-up.
Development and facilitation
Coding platform and selected open source components
S1 model and inference
Part of the initiative
Harness development
Security and implementation
The idea
An AI agent can use tools and perform tasks. A harness is the layer around the agent that should connect its work to the rules and workflows we decide on.
We want to understand what the agent may do, when a person must approve and how actions are documented. That is the shared foundation we are developing and testing together.
Watch the film
Film in Danish · 2:54
The film shows the ambition. Here is the test version’s architecture: the instruction layer, agent engine, model connection and action controls.
Shared ground rules + 12 skills
Scope · code · testing · security · deployment · handover
Working instructions — not technical access controlElectron UI · task and approvals
Agent loop · local process via adapter
Files, preview and Git
Via Aura’s local gateway · local model server or external provider
Ground rules set the direction. Skills make the working method specific to the task at hand.
profiles/grundregler.md
profiles/skills/*/SKILL.mdShared rules, skills and their reference files are text that can be read and adapted.
features.cjs → resolve()Project choices override global defaults. Dependencies are checked. Skills.list uses customised skill text for the project, when present.
Skills.context(projectRoot)Ground rules are always included. Only skills for enabled features are made available to the engine.
Ground rules + the app’s own rules + project guidance form the system instruction. The task, project brief and selected references supply context.
context.rules + appRules + projectGuidanceEnabled skills are written to the engine’s local configuration. The agent is instructed to fetch the relevant SKILL.md through the skill tool and read only the references it needs.
config/skills/<name>/SKILL.mdSee what a specific skill contributes
skill({ name: "harness-design-og-tilgaengelighed" })Relevant reference: references/tilgaengelighed.md
Use the selected design guide. Plan mobile layout, labels, focus and error states before building the component.
TESTING AND HANDOVER GUIDANCETry the form with a keyboard and on a narrow screen. Report what was checked and what remains.
Illustrated example using the project’s actual skills. The buttons make no AI calls. Several skills may apply to one task; the text is guidance, not a guarantee that the model follows it.
engine.cjs → writeSkills()
The engine’s config/skills directory is recreated at startup with the active package. Disabled skills and previous copies do not remain there.
chat-session.cjs → fingerprint
Ground rules, skill content and features are included in the session fingerprint. Changes create a new model session on the next send, so old instructions are not reused as unchanged context.
engine.cjs → permissions()
Skill access starts with deny; only enabled skill names receive allow. The app checks the engine version and effective configuration at startup. These controls do not make the agent a fully isolated sandbox.
Source: the supplied Aura code, commit df681eb, desktop/core/{features,skills,engine,chat-session,project-guidance}.cjs and profiles/. This describes the Aura app’s workflow; other coding tools have their own loader and permissions.
A site for library activities
A fictional example: a small site for library activities. You choose the audience, content and project folder. Creating the project does not yet require an AI call.
Each step requires decisions about access, data and responsibility. The film’s shared municipal infrastructure and MitID are a direction, not finished integrations in the app.
An illustrative workflow
An employee wants meeting minutes from fictional notes. Explore the four steps.
“Draft meeting minutes from my fictional notes. Only save them after I approve.”
You define the task, material and limits on what the agent may do independently.
Get started
Use the core rules and skills in your own coding tool, or try the local desktop app. Both are in development. Instructions provide guidance, not access control.
Bring an idea or a project to rebuild. Set clear boundaries and use synthetic test data.
At the hackathon, we will test the first version with Corti’s models and Promte’s platform. Setup and access details will follow before the event.
Record what works and what is missing. The aim is to share solutions as open source so others can build on them.
Install core rules and skills using the app, your coding agent or manually. This example uses Git and Node.js. Repository access is currently required. Always follow the latest README.
Adjust the tools and path for your existing project. The app is a test version for invited users; a full workflow on an ordinary tester’s computer has not yet been tested.
Read the README ↗git clone https://github.com/ai-alliancen-org/ai-harness.git
cd ai-harness
node scripts/harness.cjs install --tools claude-code,cursor --project ../mit-projektParticipants’ projects will be collected here after the hackathon, when they are ready to share.
An open effort
Your experience of everyday needs and requirements can help shape the next version.
The goal is to share the work as open source. Repository access is currently required.