@sentropic/h2a 0.85.25 → 0.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/dist/bin.js +51 -2
- package/dist/bin.js.map +1 -1
- package/dist/cli-command-map.d.ts +119 -0
- package/dist/cli-command-map.d.ts.map +1 -0
- package/dist/cli-command-map.js +396 -0
- package/dist/cli-command-map.js.map +1 -0
- package/dist/cli-contract.d.ts.map +1 -1
- package/dist/cli-contract.js +39 -1
- package/dist/cli-contract.js.map +1 -1
- package/dist/cli.d.ts +25 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +356 -7
- package/dist/cli.js.map +1 -1
- package/dist/identity.d.ts +37 -3
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +0 -0
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/runtime/enrollment/ceremony.d.ts +542 -0
- package/dist/runtime/enrollment/ceremony.d.ts.map +1 -0
- package/dist/runtime/enrollment/ceremony.js +777 -0
- package/dist/runtime/enrollment/ceremony.js.map +1 -0
- package/dist/runtime/enrollment/index.d.ts +16 -0
- package/dist/runtime/enrollment/index.d.ts.map +1 -0
- package/dist/runtime/enrollment/index.js +16 -0
- package/dist/runtime/enrollment/index.js.map +1 -0
- package/dist/runtime/feed/descriptors.d.ts +261 -0
- package/dist/runtime/feed/descriptors.d.ts.map +1 -0
- package/dist/runtime/feed/descriptors.js +425 -0
- package/dist/runtime/feed/descriptors.js.map +1 -0
- package/dist/runtime/feed/index.d.ts +12 -0
- package/dist/runtime/feed/index.d.ts.map +1 -0
- package/dist/runtime/feed/index.js +12 -0
- package/dist/runtime/feed/index.js.map +1 -0
- package/dist/runtime/identity/index.d.ts +3 -3
- package/dist/runtime/identity/index.d.ts.map +1 -1
- package/dist/runtime/identity/index.js +2 -2
- package/dist/runtime/identity/index.js.map +1 -1
- package/dist/runtime/identity/live.d.ts +68 -0
- package/dist/runtime/identity/live.d.ts.map +1 -1
- package/dist/runtime/identity/live.js +78 -2
- package/dist/runtime/identity/live.js.map +1 -1
- package/dist/runtime/identity/readers.d.ts +89 -5
- package/dist/runtime/identity/readers.d.ts.map +1 -1
- package/dist/runtime/identity/readers.js +242 -33
- package/dist/runtime/identity/readers.js.map +1 -1
- package/dist/runtime/local-files/presence.d.ts +16 -1
- package/dist/runtime/local-files/presence.d.ts.map +1 -1
- package/dist/runtime/local-files/presence.js +32 -20
- package/dist/runtime/local-files/presence.js.map +1 -1
- package/dist/runtime/loop/index.d.ts +5 -0
- package/dist/runtime/loop/index.d.ts.map +1 -1
- package/dist/runtime/loop/index.js +48 -5
- package/dist/runtime/loop/index.js.map +1 -1
- package/dist/runtime/mcp/agent-launch.d.ts +15 -1
- package/dist/runtime/mcp/agent-launch.d.ts.map +1 -1
- package/dist/runtime/mcp/agent-launch.js +45 -4
- package/dist/runtime/mcp/agent-launch.js.map +1 -1
- package/dist/runtime/mcp/index.d.ts +1 -1
- package/dist/runtime/mcp/index.d.ts.map +1 -1
- package/dist/runtime/mcp/index.js +1 -1
- package/dist/runtime/mcp/index.js.map +1 -1
- package/dist/runtime/mcp/server.d.ts +3 -1
- package/dist/runtime/mcp/server.d.ts.map +1 -1
- package/dist/runtime/mcp/server.js +7 -2
- package/dist/runtime/mcp/server.js.map +1 -1
- package/dist/runtime/mcp/sessions.d.ts +19 -0
- package/dist/runtime/mcp/sessions.d.ts.map +1 -1
- package/dist/runtime/mcp/sessions.js +44 -2
- package/dist/runtime/mcp/sessions.js.map +1 -1
- package/dist/runtime/mcp/stdio.d.ts +8 -0
- package/dist/runtime/mcp/stdio.d.ts.map +1 -1
- package/dist/runtime/mcp/stdio.js +42 -0
- package/dist/runtime/mcp/stdio.js.map +1 -1
- package/dist/runtime/mcp-registry/broker.d.ts +175 -0
- package/dist/runtime/mcp-registry/broker.d.ts.map +1 -0
- package/dist/runtime/mcp-registry/broker.js +203 -0
- package/dist/runtime/mcp-registry/broker.js.map +1 -0
- package/dist/runtime/mcp-registry/broker.typecheck.d.ts +2 -0
- package/dist/runtime/mcp-registry/broker.typecheck.d.ts.map +1 -0
- package/dist/runtime/mcp-registry/broker.typecheck.js +48 -0
- package/dist/runtime/mcp-registry/broker.typecheck.js.map +1 -0
- package/dist/runtime/mirror/accept.d.ts +43 -5
- package/dist/runtime/mirror/accept.d.ts.map +1 -1
- package/dist/runtime/mirror/accept.js +55 -7
- package/dist/runtime/mirror/accept.js.map +1 -1
- package/dist/runtime/mirror/build.d.ts +23 -4
- package/dist/runtime/mirror/build.d.ts.map +1 -1
- package/dist/runtime/mirror/build.js +34 -4
- package/dist/runtime/mirror/build.js.map +1 -1
- package/dist/runtime/mirror/index.d.ts +3 -0
- package/dist/runtime/mirror/index.d.ts.map +1 -1
- package/dist/runtime/mirror/index.js +3 -0
- package/dist/runtime/mirror/index.js.map +1 -1
- package/dist/runtime/mirror/ingest.d.ts +109 -0
- package/dist/runtime/mirror/ingest.d.ts.map +1 -0
- package/dist/runtime/mirror/ingest.js +117 -0
- package/dist/runtime/mirror/ingest.js.map +1 -0
- package/dist/runtime/mirror/push-daemon.d.ts +376 -0
- package/dist/runtime/mirror/push-daemon.d.ts.map +1 -0
- package/dist/runtime/mirror/push-daemon.js +644 -0
- package/dist/runtime/mirror/push-daemon.js.map +1 -0
- package/dist/runtime/mirror/sanitize.d.ts +477 -0
- package/dist/runtime/mirror/sanitize.d.ts.map +1 -0
- package/dist/runtime/mirror/sanitize.js +625 -0
- package/dist/runtime/mirror/sanitize.js.map +1 -0
- package/dist/runtime/mirror/serve.d.ts.map +1 -1
- package/dist/runtime/mirror/serve.js +104 -24
- package/dist/runtime/mirror/serve.js.map +1 -1
- package/dist/runtime/reporting/report-ai.d.ts.map +1 -1
- package/dist/runtime/reporting/report-ai.js +1 -0
- package/dist/runtime/reporting/report-ai.js.map +1 -1
- package/dist/runtime/reporting/stdin.d.ts +2 -0
- package/dist/runtime/reporting/stdin.d.ts.map +1 -0
- package/dist/runtime/reporting/stdin.js +8 -0
- package/dist/runtime/reporting/stdin.js.map +1 -0
- package/dist/status-surface.d.ts +167 -0
- package/dist/status-surface.d.ts.map +1 -0
- package/dist/status-surface.js +670 -0
- package/dist/status-surface.js.map +1 -0
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/dist/vendor/harness/skills/manifest.d.ts.map +1 -1
- package/dist/vendor/harness/skills/manifest.js +2 -0
- package/dist/vendor/harness/skills/manifest.js.map +1 -1
- package/focus-app/client/_app/immutable/assets/{0.BdzHFb9q.css → 0.CgEVz9YW.css} +1 -1
- package/focus-app/client/_app/immutable/assets/0.CgEVz9YW.css.br +0 -0
- package/focus-app/client/_app/immutable/assets/0.CgEVz9YW.css.gz +0 -0
- package/focus-app/client/_app/immutable/assets/2.DaTmt6o7.css +1 -0
- package/focus-app/client/_app/immutable/assets/2.DaTmt6o7.css.br +0 -0
- package/focus-app/client/_app/immutable/assets/2.DaTmt6o7.css.gz +0 -0
- package/focus-app/client/_app/immutable/assets/3.vWQUAHjz.css +1 -0
- package/focus-app/client/_app/immutable/assets/3.vWQUAHjz.css.br +0 -0
- package/focus-app/client/_app/immutable/assets/3.vWQUAHjz.css.gz +0 -0
- package/focus-app/client/_app/immutable/assets/AppShell.CDPwj3zU.css +1 -0
- package/focus-app/client/_app/immutable/assets/AppShell.CDPwj3zU.css.br +0 -0
- package/focus-app/client/_app/immutable/assets/AppShell.CDPwj3zU.css.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/{Cj6wo28J.js → 1NK_OeRJ.js} +1 -1
- package/focus-app/client/_app/immutable/chunks/1NK_OeRJ.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/1NK_OeRJ.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/{Bs3f1UbD.js → B1veta3r.js} +2 -2
- package/focus-app/client/_app/immutable/chunks/B1veta3r.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/B1veta3r.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/{DEmooz0s.js → BZ4lcC0v.js} +1 -1
- package/focus-app/client/_app/immutable/chunks/BZ4lcC0v.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/BZ4lcC0v.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/Bu7F9NOv.js +2 -0
- package/focus-app/client/_app/immutable/chunks/Bu7F9NOv.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Bu7F9NOv.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/C6KhNEX3.js +1 -0
- package/focus-app/client/_app/immutable/chunks/C6KhNEX3.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/C6KhNEX3.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/DIljKPJN.js +1 -0
- package/focus-app/client/_app/immutable/chunks/DIljKPJN.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/DIljKPJN.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/iXQate3J.js +2 -0
- package/focus-app/client/_app/immutable/chunks/iXQate3J.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/iXQate3J.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/{ZxFklh9T.js → kCE9wz0g.js} +1 -1
- package/focus-app/client/_app/immutable/chunks/kCE9wz0g.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/kCE9wz0g.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/x-hq5fDG.js +1 -0
- package/focus-app/client/_app/immutable/chunks/x-hq5fDG.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/x-hq5fDG.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/app.C1sDdCg5.js +2 -0
- package/focus-app/client/_app/immutable/entry/app.C1sDdCg5.js.br +0 -0
- package/focus-app/client/_app/immutable/entry/app.C1sDdCg5.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/start.X3j_A5RN.js +1 -0
- package/focus-app/client/_app/immutable/entry/start.X3j_A5RN.js.br +2 -0
- package/focus-app/client/_app/immutable/entry/start.X3j_A5RN.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/0.gLl44WzG.js +5 -0
- package/focus-app/client/_app/immutable/nodes/0.gLl44WzG.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/0.gLl44WzG.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/1.DUrghq2x.js +1 -0
- package/focus-app/client/_app/immutable/nodes/1.DUrghq2x.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/1.DUrghq2x.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/2.Bp7JE7Pz.js +1 -0
- package/focus-app/client/_app/immutable/nodes/2.Bp7JE7Pz.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/2.Bp7JE7Pz.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/3.Cml8enOG.js +12 -0
- package/focus-app/client/_app/immutable/nodes/3.Cml8enOG.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/3.Cml8enOG.js.gz +0 -0
- package/focus-app/client/_app/version.json +1 -1
- package/focus-app/client/_app/version.json.br +0 -0
- package/focus-app/client/_app/version.json.gz +0 -0
- package/focus-app/h2a-focus.json +108 -80
- package/focus-app/handler.js +7 -7
- package/focus-app/index.js +7 -7
- package/focus-app/server/chunks/chunks/AppShell.js-6Pi87dO0.js +1353 -0
- package/focus-app/server/chunks/chunks/AppShell.js-6Pi87dO0.js.map +1 -0
- package/focus-app/server/chunks/chunks/agent-memory-dossier.js-nmFG_rgx.js +1036 -0
- package/focus-app/server/chunks/chunks/agent-memory-dossier.js-nmFG_rgx.js.map +1 -0
- package/focus-app/server/chunks/chunks/{exports.js-DUTkELZq.js → exports.js-CdqPbjm1.js} +3 -3
- package/focus-app/server/chunks/chunks/{exports.js-DUTkELZq.js.map → exports.js-CdqPbjm1.js.map} +1 -1
- package/focus-app/server/chunks/chunks/h2a-bus.js-bLEJ_Adi.js +233 -0
- package/focus-app/server/chunks/chunks/h2a-bus.js-bLEJ_Adi.js.map +1 -0
- package/focus-app/server/chunks/chunks/{index.js-Di21TltP.js → index.js-laGHLarB.js} +5 -2
- package/focus-app/server/chunks/chunks/index.js-laGHLarB.js.map +1 -0
- package/focus-app/server/chunks/chunks/{internal.js-33vbd70h.js → internal.js-C6T8nHkl.js} +4 -4
- package/focus-app/server/chunks/chunks/{internal.js-33vbd70h.js.map → internal.js-C6T8nHkl.js.map} +1 -1
- package/focus-app/server/chunks/chunks/{root.js-DO1m-gJA.js → root.js-CtVQOgDw.js} +2 -2
- package/focus-app/server/chunks/chunks/{root.js-DO1m-gJA.js.map → root.js-CtVQOgDw.js.map} +1 -1
- package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/{_server.ts.js-j0NNcOSZ.js → _server.ts.js-hrbMnsV0.js} +13 -42
- package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-hrbMnsV0.js.map +1 -0
- package/focus-app/server/chunks/entries/endpoints/api/dossiers/agent-memory/include/_server.ts.js-Dw4odGdV.js +138 -0
- package/focus-app/server/chunks/entries/endpoints/api/dossiers/agent-memory/include/_server.ts.js-Dw4odGdV.js.map +1 -0
- package/focus-app/server/chunks/entries/endpoints/api/h2a/targets/_server.ts.js-BLjYv7vg.js +41 -0
- package/focus-app/server/chunks/entries/endpoints/api/h2a/targets/_server.ts.js-BLjYv7vg.js.map +1 -0
- package/focus-app/server/chunks/entries/fallbacks/{error.svelte.js-Dj3sETSX.js → error.svelte.js-RbeaNF5a.js} +4 -4
- package/focus-app/server/chunks/entries/fallbacks/{error.svelte.js-Dj3sETSX.js.map → error.svelte.js-RbeaNF5a.js.map} +1 -1
- package/focus-app/server/chunks/entries/pages/{_layout.svelte.js-BoLsbuC2.js → _layout.svelte.js-e1E_I04z.js} +2 -2
- package/focus-app/server/chunks/entries/pages/{_layout.svelte.js-BoLsbuC2.js.map → _layout.svelte.js-e1E_I04z.js.map} +1 -1
- package/focus-app/server/chunks/entries/pages/{_page.svelte.js-QDldMYhk.js → _page.svelte.js-DbaEG23x.js} +31 -1373
- package/focus-app/server/chunks/entries/pages/_page.svelte.js-DbaEG23x.js.map +1 -0
- package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.server.ts.js-CFC-wn6U.js +88 -0
- package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.server.ts.js-CFC-wn6U.js.map +1 -0
- package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.svelte.js-BpR26NMa.js +1574 -0
- package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.svelte.js-BpR26NMa.js.map +1 -0
- package/focus-app/server/chunks/{handler-Cp_5hLyY.js → handler-Be3dyNi0.js} +3 -3
- package/focus-app/server/chunks/{handler-Cp_5hLyY.js.map → handler-Be3dyNi0.js.map} +1 -1
- package/focus-app/server/chunks/{index.js-CBh7Wjqp.js → index.js-siUxMMnK.js} +3 -3
- package/focus-app/server/chunks/{index.js-CBh7Wjqp.js.map → index.js-siUxMMnK.js.map} +1 -1
- package/focus-app/server/chunks/manifest.js-CXJqSHHn.js +78 -0
- package/focus-app/server/chunks/manifest.js-CXJqSHHn.js.map +1 -0
- package/focus-app/server/chunks/nodes/0.js-leU6sfRR.js +9 -0
- package/focus-app/server/chunks/nodes/{0.js-4wlmdsk8.js.map → 0.js-leU6sfRR.js.map} +1 -1
- package/focus-app/server/chunks/nodes/1.js-os6QXm6B.js +9 -0
- package/focus-app/server/chunks/nodes/{1.js-B-LpY-lC.js.map → 1.js-os6QXm6B.js.map} +1 -1
- package/focus-app/server/chunks/nodes/2.js-DAaLjh93.js +19 -0
- package/focus-app/server/chunks/nodes/2.js-DAaLjh93.js.map +1 -0
- package/focus-app/server/chunks/nodes/3.js-Cmgi6Uy0.js +18 -0
- package/focus-app/server/chunks/nodes/3.js-Cmgi6Uy0.js.map +1 -0
- package/package.json +5 -5
- package/skills/h2a-run/SKILL.md +100 -0
- package/skills/harness/SKILL.md +3 -1
- package/skills/harness/review/SKILL.md +99 -8
- package/skills/harness/security/SKILL.md +55 -0
- package/skills/harness/track-report/SKILL.md +103 -0
- package/skills/harness/using-harness/SKILL.md +3 -1
- package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.br +0 -2
- package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.gz +0 -0
- package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css +0 -1
- package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css.br +0 -0
- package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js +0 -1
- package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js +0 -2
- package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/DEmooz0s.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/DEmooz0s.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js +0 -2
- package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js +0 -1
- package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js +0 -2
- package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js.br +0 -0
- package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js +0 -1
- package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.br +0 -2
- package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js +0 -5
- package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js +0 -1
- package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js +0 -1
- package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js.gz +0 -0
- package/focus-app/server/chunks/chunks/index.js-Di21TltP.js.map +0 -1
- package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-j0NNcOSZ.js.map +0 -1
- package/focus-app/server/chunks/entries/pages/_page.svelte.js-QDldMYhk.js.map +0 -1
- package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js +0 -56
- package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js.map +0 -1
- package/focus-app/server/chunks/nodes/0.js-4wlmdsk8.js +0 -9
- package/focus-app/server/chunks/nodes/1.js-B-LpY-lC.js +0 -9
- package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js +0 -19
- package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js.map +0 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
const manifest = (() => {
|
|
2
|
+
function __memo(fn) {
|
|
3
|
+
let value;
|
|
4
|
+
return () => value ??= (value = fn());
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
return {
|
|
8
|
+
appDir: "_app",
|
|
9
|
+
appPath: "_app",
|
|
10
|
+
assets: new Set([]),
|
|
11
|
+
mimeTypes: {},
|
|
12
|
+
_: {
|
|
13
|
+
client: {start:"_app/immutable/entry/start.X3j_A5RN.js",app:"_app/immutable/entry/app.C1sDdCg5.js",imports:["_app/immutable/entry/start.X3j_A5RN.js","_app/immutable/chunks/iXQate3J.js","_app/immutable/chunks/x-hq5fDG.js","_app/immutable/chunks/1NK_OeRJ.js","_app/immutable/entry/app.C1sDdCg5.js","_app/immutable/chunks/x-hq5fDG.js","_app/immutable/chunks/B1veta3r.js","_app/immutable/chunks/kCE9wz0g.js","_app/immutable/chunks/1NK_OeRJ.js","_app/immutable/chunks/C6KhNEX3.js","_app/immutable/chunks/BZ4lcC0v.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
|
|
14
|
+
nodes: [
|
|
15
|
+
__memo(() => import('./nodes/0.js-leU6sfRR.js')),
|
|
16
|
+
__memo(() => import('./nodes/1.js-os6QXm6B.js')),
|
|
17
|
+
__memo(() => import('./nodes/2.js-DAaLjh93.js')),
|
|
18
|
+
__memo(() => import('./nodes/3.js-Cmgi6Uy0.js'))
|
|
19
|
+
],
|
|
20
|
+
remotes: {
|
|
21
|
+
|
|
22
|
+
},
|
|
23
|
+
routes: [
|
|
24
|
+
{
|
|
25
|
+
id: "/",
|
|
26
|
+
pattern: /^\/$/,
|
|
27
|
+
params: [],
|
|
28
|
+
page: { layouts: [0,], errors: [1,], leaf: 2 },
|
|
29
|
+
endpoint: null
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: "/api/actions/launch",
|
|
33
|
+
pattern: /^\/api\/actions\/launch\/?$/,
|
|
34
|
+
params: [],
|
|
35
|
+
page: null,
|
|
36
|
+
endpoint: __memo(() => import('./entries/endpoints/api/actions/launch/_server.ts.js-DUQcf9xd.js'))
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "/api/decisions/inject",
|
|
40
|
+
pattern: /^\/api\/decisions\/inject\/?$/,
|
|
41
|
+
params: [],
|
|
42
|
+
page: null,
|
|
43
|
+
endpoint: __memo(() => import('./entries/endpoints/api/decisions/inject/_server.ts.js-hrbMnsV0.js'))
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: "/api/dossiers/agent-memory/include",
|
|
47
|
+
pattern: /^\/api\/dossiers\/agent-memory\/include\/?$/,
|
|
48
|
+
params: [],
|
|
49
|
+
page: null,
|
|
50
|
+
endpoint: __memo(() => import('./entries/endpoints/api/dossiers/agent-memory/include/_server.ts.js-Dw4odGdV.js'))
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: "/api/h2a/targets",
|
|
54
|
+
pattern: /^\/api\/h2a\/targets\/?$/,
|
|
55
|
+
params: [],
|
|
56
|
+
page: null,
|
|
57
|
+
endpoint: __memo(() => import('./entries/endpoints/api/h2a/targets/_server.ts.js-BLjYv7vg.js'))
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
id: "/dossier/agent-memory",
|
|
61
|
+
pattern: /^\/dossier\/agent-memory\/?$/,
|
|
62
|
+
params: [],
|
|
63
|
+
page: { layouts: [0,], errors: [1,], leaf: 3 },
|
|
64
|
+
endpoint: null
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
prerendered_routes: new Set([]),
|
|
68
|
+
matchers: async () => {
|
|
69
|
+
|
|
70
|
+
return { };
|
|
71
|
+
},
|
|
72
|
+
server_assets: {}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
})();
|
|
76
|
+
|
|
77
|
+
export { manifest as m };
|
|
78
|
+
//# sourceMappingURL=manifest.js-CXJqSHHn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js-CXJqSHHn.js","sources":["../../../.svelte-kit/output/server/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([]),\n\tmimeTypes: {},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.X3j_A5RN.js\",app:\"_app/immutable/entry/app.C1sDdCg5.js\",imports:[\"_app/immutable/entry/start.X3j_A5RN.js\",\"_app/immutable/chunks/iXQate3J.js\",\"_app/immutable/chunks/x-hq5fDG.js\",\"_app/immutable/chunks/1NK_OeRJ.js\",\"_app/immutable/entry/app.C1sDdCg5.js\",\"_app/immutable/chunks/x-hq5fDG.js\",\"_app/immutable/chunks/B1veta3r.js\",\"_app/immutable/chunks/kCE9wz0g.js\",\"_app/immutable/chunks/1NK_OeRJ.js\",\"_app/immutable/chunks/C6KhNEX3.js\",\"_app/immutable/chunks/BZ4lcC0v.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/actions/launch\",\n\t\t\t\tpattern: /^\\/api\\/actions\\/launch\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/actions/launch/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/decisions/inject\",\n\t\t\t\tpattern: /^\\/api\\/decisions\\/inject\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/decisions/inject/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/dossiers/agent-memory/include\",\n\t\t\t\tpattern: /^\\/api\\/dossiers\\/agent-memory\\/include\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/dossiers/agent-memory/include/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/h2a/targets\",\n\t\t\t\tpattern: /^\\/api\\/h2a\\/targets\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/h2a/targets/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/dossier/agent-memory\",\n\t\t\t\tpattern: /^\\/dossier\\/agent-memory\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n"],"names":[],"mappings":"AAAY,MAAC,QAAQ,GAAG,CAAC,MAAM;AAC/B,SAAS,MAAM,CAAC,EAAE,EAAE;AACpB,CAAC,IAAI,KAAK;AACV,CAAC,OAAO,MAAM,KAAK,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;AACtC;;AAEA,OAAO;AACP,CAAC,MAAM,EAAE,MAAM;AACf,CAAC,OAAO,EAAE,MAAM;AAChB,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AACpB,CAAC,SAAS,EAAE,EAAE;AACd,CAAC,CAAC,EAAE;AACJ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,GAAG,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,sCAAsC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACzjB,EAAE,KAAK,EAAE;AACT,GAAG,MAAM,CAAC,MAAM,OAAO,0BAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,0BAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,0BAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,0BAAc,CAAC;AACtC,GAAG;AACH,EAAE,OAAO,EAAE;AACX;AACA,GAAG;AACH,EAAE,MAAM,EAAE;AACV,GAAG;AACH,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,qBAAqB;AAC7B,IAAI,OAAO,EAAE,6BAA6B;AAC1C,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,kEAAsD,CAAC;AACzF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,uBAAuB;AAC/B,IAAI,OAAO,EAAE,+BAA+B;AAC5C,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,oEAAwD,CAAC;AAC3F,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,oCAAoC;AAC5C,IAAI,OAAO,EAAE,6CAA6C;AAC1D,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iFAAqE,CAAC;AACxG,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,kBAAkB;AAC1B,IAAI,OAAO,EAAE,0BAA0B;AACvC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,+DAAmD,CAAC;AACtF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,uBAAuB;AAC/B,IAAI,OAAO,EAAE,8BAA8B;AAC3C,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd;AACA,GAAG;AACH,EAAE,kBAAkB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AACjC,EAAE,QAAQ,EAAE,YAAY;AACxB;AACA,GAAG,OAAO,IAAI;AACd,EAAE,CAAC;AACH,EAAE,aAAa,EAAE;AACjB;AACA;AACA,CAAC;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const index = 0;
|
|
2
|
+
let component_cache;
|
|
3
|
+
const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js-e1E_I04z.js')).default;
|
|
4
|
+
const imports = ["_app/immutable/nodes/0.gLl44WzG.js","_app/immutable/chunks/kCE9wz0g.js","_app/immutable/chunks/x-hq5fDG.js","_app/immutable/chunks/Bu7F9NOv.js","_app/immutable/chunks/BZ4lcC0v.js"];
|
|
5
|
+
const stylesheets = ["_app/immutable/assets/0.CgEVz9YW.css"];
|
|
6
|
+
const fonts = [];
|
|
7
|
+
|
|
8
|
+
export { component, fonts, imports, index, stylesheets };
|
|
9
|
+
//# sourceMappingURL=0.js-leU6sfRR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0.js-
|
|
1
|
+
{"version":3,"file":"0.js-leU6sfRR.js","sources":["../../../../.svelte-kit/output/server/nodes/0.js"],"sourcesContent":["\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/0.gLl44WzG.js\",\"_app/immutable/chunks/kCE9wz0g.js\",\"_app/immutable/chunks/x-hq5fDG.js\",\"_app/immutable/chunks/Bu7F9NOv.js\",\"_app/immutable/chunks/BZ4lcC0v.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.CgEVz9YW.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,gDAAoC,CAAC,EAAE;AAClG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG,CAAC,sCAAsC;AACtD,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const index = 1;
|
|
2
|
+
let component_cache;
|
|
3
|
+
const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js-RbeaNF5a.js')).default;
|
|
4
|
+
const imports = ["_app/immutable/nodes/1.DUrghq2x.js","_app/immutable/chunks/kCE9wz0g.js","_app/immutable/chunks/x-hq5fDG.js","_app/immutable/chunks/B1veta3r.js","_app/immutable/chunks/iXQate3J.js","_app/immutable/chunks/1NK_OeRJ.js"];
|
|
5
|
+
const stylesheets = [];
|
|
6
|
+
const fonts = [];
|
|
7
|
+
|
|
8
|
+
export { component, fonts, imports, index, stylesheets };
|
|
9
|
+
//# sourceMappingURL=1.js-os6QXm6B.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1.js-
|
|
1
|
+
{"version":3,"file":"1.js-os6QXm6B.js","sources":["../../../../.svelte-kit/output/server/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.DUrghq2x.js\",\"_app/immutable/chunks/kCE9wz0g.js\",\"_app/immutable/chunks/x-hq5fDG.js\",\"_app/immutable/chunks/B1veta3r.js\",\"_app/immutable/chunks/iXQate3J.js\",\"_app/immutable/chunks/1NK_OeRJ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,kDAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACpO,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export { _ as server } from '../entries/pages/_page.server.ts.js-ChRBj_xK.js';
|
|
2
|
+
import '../chunks/friendly.js-D4fjovnZ.js';
|
|
3
|
+
import 'node:child_process';
|
|
4
|
+
import 'node:fs';
|
|
5
|
+
import 'node:path';
|
|
6
|
+
import 'node:url';
|
|
7
|
+
import 'node:crypto';
|
|
8
|
+
import 'node:os';
|
|
9
|
+
|
|
10
|
+
const index = 2;
|
|
11
|
+
let component_cache;
|
|
12
|
+
const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-DbaEG23x.js')).default;
|
|
13
|
+
const server_id = "src/routes/+page.server.ts";
|
|
14
|
+
const imports = ["_app/immutable/nodes/2.Bp7JE7Pz.js","_app/immutable/chunks/kCE9wz0g.js","_app/immutable/chunks/x-hq5fDG.js","_app/immutable/chunks/B1veta3r.js","_app/immutable/chunks/C6KhNEX3.js","_app/immutable/chunks/BZ4lcC0v.js","_app/immutable/chunks/DIljKPJN.js","_app/immutable/chunks/Bu7F9NOv.js"];
|
|
15
|
+
const stylesheets = ["_app/immutable/assets/AppShell.CDPwj3zU.css","_app/immutable/assets/2.DaTmt6o7.css"];
|
|
16
|
+
const fonts = [];
|
|
17
|
+
|
|
18
|
+
export { component, fonts, imports, index, server_id, stylesheets };
|
|
19
|
+
//# sourceMappingURL=2.js-DAaLjh93.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"2.js-DAaLjh93.js","sources":["../../../../.svelte-kit/output/server/nodes/2.js"],"sourcesContent":["import * as server from '../entries/pages/_page.server.ts.js';\n\nexport const index = 2;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/2.Bp7JE7Pz.js\",\"_app/immutable/chunks/kCE9wz0g.js\",\"_app/immutable/chunks/x-hq5fDG.js\",\"_app/immutable/chunks/B1veta3r.js\",\"_app/immutable/chunks/C6KhNEX3.js\",\"_app/immutable/chunks/BZ4lcC0v.js\",\"_app/immutable/chunks/DIljKPJN.js\",\"_app/immutable/chunks/Bu7F9NOv.js\"];\nexport const stylesheets = [\"_app/immutable/assets/AppShell.CDPwj3zU.css\",\"_app/immutable/assets/2.DaTmt6o7.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8CAAkC,CAAC,EAAE;AAEhG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5S,MAAC,WAAW,GAAG,CAAC,6CAA6C,CAAC,sCAAsC;AACpG,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { _ as server } from '../entries/pages/dossier/agent-memory/_page.server.ts.js-CFC-wn6U.js';
|
|
2
|
+
import 'node:fs';
|
|
3
|
+
import 'node:path';
|
|
4
|
+
import '../chunks/h2a-bus.js-bLEJ_Adi.js';
|
|
5
|
+
import 'node:child_process';
|
|
6
|
+
import 'node:os';
|
|
7
|
+
import '../chunks/agent-memory-dossier.js-nmFG_rgx.js';
|
|
8
|
+
|
|
9
|
+
const index = 3;
|
|
10
|
+
let component_cache;
|
|
11
|
+
const component = async () => component_cache ??= (await import('../entries/pages/dossier/agent-memory/_page.svelte.js-BpR26NMa.js')).default;
|
|
12
|
+
const server_id = "src/routes/dossier/agent-memory/+page.server.ts";
|
|
13
|
+
const imports = ["_app/immutable/nodes/3.Cml8enOG.js","_app/immutable/chunks/kCE9wz0g.js","_app/immutable/chunks/x-hq5fDG.js","_app/immutable/chunks/1NK_OeRJ.js","_app/immutable/chunks/B1veta3r.js","_app/immutable/chunks/C6KhNEX3.js","_app/immutable/chunks/BZ4lcC0v.js","_app/immutable/chunks/DIljKPJN.js","_app/immutable/chunks/Bu7F9NOv.js"];
|
|
14
|
+
const stylesheets = ["_app/immutable/assets/AppShell.CDPwj3zU.css","_app/immutable/assets/3.vWQUAHjz.css"];
|
|
15
|
+
const fonts = [];
|
|
16
|
+
|
|
17
|
+
export { component, fonts, imports, index, server_id, stylesheets };
|
|
18
|
+
//# sourceMappingURL=3.js-Cmgi6Uy0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"3.js-Cmgi6Uy0.js","sources":["../../../../.svelte-kit/output/server/nodes/3.js"],"sourcesContent":["import * as server from '../entries/pages/dossier/agent-memory/_page.server.ts.js';\n\nexport const index = 3;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/dossier/agent-memory/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/dossier/agent-memory/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/3.Cml8enOG.js\",\"_app/immutable/chunks/kCE9wz0g.js\",\"_app/immutable/chunks/x-hq5fDG.js\",\"_app/immutable/chunks/1NK_OeRJ.js\",\"_app/immutable/chunks/B1veta3r.js\",\"_app/immutable/chunks/C6KhNEX3.js\",\"_app/immutable/chunks/BZ4lcC0v.js\",\"_app/immutable/chunks/DIljKPJN.js\",\"_app/immutable/chunks/Bu7F9NOv.js\"];\nexport const stylesheets = [\"_app/immutable/assets/AppShell.CDPwj3zU.css\",\"_app/immutable/assets/3.vWQUAHjz.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,mEAAuD,CAAC,EAAE;AAErH,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChV,MAAC,WAAW,GAAG,CAAC,6CAA6C,CAAC,sCAAsC;AACpG,MAAC,KAAK,GAAG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sentropic/h2a",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.87.0",
|
|
4
4
|
"description": "h2a — the unified CLI + core for human-to-agent coordination.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@hono/mcp": "^0.3.0",
|
|
52
|
-
"@hono/node-server": "^2.0.
|
|
53
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
54
|
-
"@sentropic/track": "^0.
|
|
55
|
-
"hono": "^4.12.
|
|
52
|
+
"@hono/node-server": "^2.0.12",
|
|
53
|
+
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
54
|
+
"@sentropic/track": "^0.87.0",
|
|
55
|
+
"hono": "^4.12.32"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"@sentropic/h2a-runtime": "*"
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: h2a-run
|
|
3
|
+
description: Translate a friendly launch intent ("terra 5.6 xhigh", "codex sol high effort", "relance en max") into the exact `h2a run` CLI invocation or `h2a_run` MCP call — model, effort, gateway on/off, naming, resume. Use whenever the user wants to launch or relaunch an h2a session and only knows a nickname/effort word, not the exact --model id or MCP parameter shape. Does not decide model routing (see the SoT note below) — launch ergonomics only.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# h2a-run
|
|
7
|
+
|
|
8
|
+
## When to use this
|
|
9
|
+
|
|
10
|
+
- The user names a launch by nickname + effort ("terra 5.6 xhigh", "sol en max", "relance codex en xhigh") instead of a provider model id.
|
|
11
|
+
- The user wants a background or interactive Claude/Codex session with a specific reasoning effort, with or without the llm-mesh gateway, and needs the exact CLI flags or MCP parameters.
|
|
12
|
+
- **Not** for deciding *which* flavor is best for a task (that is a human/model-delegation call, not this skill's job), and **not** for resolving alias→upstream-provider routing — that table is owned by the llm-mesh gateway, not this skill (see Step 2).
|
|
13
|
+
|
|
14
|
+
## Hard rule: never call the raw `h2a` binary from Bash
|
|
15
|
+
|
|
16
|
+
This plugin's PreToolUse hook (`packages/h2a/hooks/deny-manual-h2a-cli.mjs`) blocks any Bash command that invokes `h2a` — it prints *"Blocked manual `h2a` CLI use..."* and exits non-zero. As a Claude agent, always launch through the **`h2a_run` MCP tool**, never `h2a run` in Bash. The `h2a run` CLI form below exists for reference (a human at a real terminal, or a host without this guard) and to explain what the MCP tool does under the hood — do not run it yourself from Bash.
|
|
17
|
+
|
|
18
|
+
## Step 1 — decode the intent into three independent axes
|
|
19
|
+
|
|
20
|
+
None of these require knowing a provider model id up front:
|
|
21
|
+
|
|
22
|
+
1. **Profile** — `claude` or `codex` (which CLI to launch). Default to whichever CLI the user is already in if unstated; ask if genuinely ambiguous.
|
|
23
|
+
2. **Model flavor** — a nickname like *terra*, *sol* (aka *fable*), *luna*, or unstated (→ the CLI's own default model). Resolves to a `--model` / `model` value (Step 2).
|
|
24
|
+
3. **Effort** — `low | medium | high | xhigh`. "max" said by the user means `xhigh` — there is no higher tier for `h2a run` / `h2a_run` today.
|
|
25
|
+
|
|
26
|
+
## Step 2 — resolve the model flavor (source-of-truth caveat)
|
|
27
|
+
|
|
28
|
+
**The canonical model catalog belongs to the llm-mesh gateway**, not this skill: today it lives at `packages/h2a-runtime/src/llm-gateway-runtime/model-catalog.ts` (moving under `@sentropic/llm-gateway`). This skill must never be treated as ground truth for routing, and the hint table below is a minimal, best-effort convenience — it can drift or be wrong. There is an **open track item** ("Terra xhigh launch preset" bug) about exactly this kind of drift: a `claude-*`-branded alias can silently resolve to a *different* catalog entry than its nickname implies. Before trusting a mapping below:
|
|
29
|
+
|
|
30
|
+
- if a gateway is already running for this session, query `GET <ANTHROPIC_BASE_URL>/v1/models` (the mesh's own live catalog) and match the flavor there;
|
|
31
|
+
- otherwise, read the catalog source file above fresh — do not copy it verbatim into a durable prompt/skill, it moves.
|
|
32
|
+
|
|
33
|
+
Known flavors as of this writing (verify before relying on them for anything consequential):
|
|
34
|
+
|
|
35
|
+
| User says | Catalog id — pass this to `--model`/`model` | Pool |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| "terra", "5.6 terra" | `gpt-5.6-terra` | codex |
|
|
38
|
+
| "sol", "fable", "fable 5" | `gpt-5.6-sol` | codex |
|
|
39
|
+
| "luna" | `gpt-5.6-luna` | codex |
|
|
40
|
+
| "5.5" (codex default) | `gpt-5.5` | codex |
|
|
41
|
+
| "gemini flash", "3.5 flash" | `gemini-3.5-flash` | google |
|
|
42
|
+
| "gemini pro", "3.1 pro" | `gemini-3.1-pro` | google |
|
|
43
|
+
|
|
44
|
+
Prefer the **catalog id** (right column) over a `claude-*`-branded alias — the aliases are exactly where the current drift/collision risk lives. If the user names a flavor not in this table, do not invent an id: query the live catalog (above) rather than guessing.
|
|
45
|
+
|
|
46
|
+
## Step 3 — gateway on/off
|
|
47
|
+
|
|
48
|
+
Any non-default flavor needs the llm-mesh gateway to translate the Anthropic-shaped request to the real upstream. Default to the gateway **on** for a named flavor, off for the CLI's native default model:
|
|
49
|
+
|
|
50
|
+
- CLI: `--gw` (alias `--llm-gateway`) forces it on, `--no-gw` (alias `--no-llm-gateway`) forces it off, omit for the CLI's own default.
|
|
51
|
+
- MCP `h2a_run`: `gateway: "required"` forces it on, `"off"` forces it off, `"auto"` (default) decides. **`"required"` is rejected when `profile` is `"codex"`** — codex already talks to llm-mesh over an Anthropic-compatible surface, use `"auto"` there.
|
|
52
|
+
|
|
53
|
+
## Step 4 — compose the call
|
|
54
|
+
|
|
55
|
+
### `h2a_run` MCP tool (what this agent must use)
|
|
56
|
+
|
|
57
|
+
Required: `profile` (`"claude"|"codex"`), `name` (`^[A-Za-z0-9_-]{1,64}$`), `workspace` (absolute path, must exist, must stay inside the MCP server's startup workspace root), `prompt` (1–65536 UTF-8 bytes, sent on stdin — never put it in argv), `background` (must be literal `true`). Optional: `model` (free-text, format-checked only — see Step 2 for the value), `effort` (`"low"|"medium"|"high"|"xhigh"`), `gateway` (`"auto"|"required"|"off"`, default `"auto"`), `headless` (default `false`), `h2aSidecar` (default `!headless`; cannot be `true` together with `headless: true`).
|
|
58
|
+
|
|
59
|
+
Example — "terra, xhigh, headless, on this repo":
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"profile": "codex",
|
|
64
|
+
"name": "terra-review",
|
|
65
|
+
"workspace": "/abs/path/to/repo",
|
|
66
|
+
"prompt": "<initial instructions>",
|
|
67
|
+
"background": true,
|
|
68
|
+
"model": "gpt-5.6-terra",
|
|
69
|
+
"effort": "xhigh",
|
|
70
|
+
"gateway": "auto",
|
|
71
|
+
"headless": true
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The tool returns an `h2a.run.result` contract with `session.tmuxSession`, `session.pane`, `session.gateway` (`"gateway"|"direct"`). Read those fields back to confirm what actually launched — do not assume the request was honored silently.
|
|
76
|
+
|
|
77
|
+
### `h2a run` CLI (reference only — non-Claude-Code hosts / humans at a terminal)
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
h2a run codex /abs/path/to/repo --model gpt-5.6-terra --effort xhigh --gw --name terra-review --no-attach --background --json --prompt-stdin
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Interactive/attached form (drop the background-launch flags, add nothing else):
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
h2a run claude . --model gpt-5.6-terra --effort xhigh --gw --name terra-review
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Other `h2a run` flags worth knowing:
|
|
90
|
+
|
|
91
|
+
- `-r, --resume <convId>` — continue a conversation; combine with `--model`/`--effort` to relaunch the same conversation at a different flavor/effort.
|
|
92
|
+
- `--headless` — run once, record output under `.h2a/runs/<name>`, then exit (cannot combine with `--h2a`).
|
|
93
|
+
- `--count <n>` — fan out N fresh sessions; incompatible with `--model`/`--effort`/`--resume`/any structured launch (each fanned session is a fresh conversation).
|
|
94
|
+
- `--h2a` / `--no-h2a` — start (or skip) the side-window h2a MCP server; defaults on unless `--headless`.
|
|
95
|
+
- `--name <label>` — tmux slug + tab label; defaults to the workspace dirname. Pick one deliberately when launching more than one session against the same repo.
|
|
96
|
+
|
|
97
|
+
## Related
|
|
98
|
+
|
|
99
|
+
- `h2a delegate <type> <task>` accepts the same `--model`/`--effort` flags for a queued/background job (plus `--account <id>` to pin a specific pooled account) — Step 2's resolution rule applies there too.
|
|
100
|
+
- For the actual routing/alias table, defer to the llm-mesh/gateway catalog — this skill never freezes a copy of it beyond the "known as of this writing" hint in Step 2.
|
package/skills/harness/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: harness
|
|
3
|
-
description: Route repository work through the sentropic harness method. Use in a sentropic repo for branch scope, brainstorming, planning, debugging, testing, review, or adopting harness conventions in a new repo.
|
|
3
|
+
description: Route repository work through the sentropic harness method. Use in a sentropic repo for branch scope, brainstorming, planning, debugging, testing, review, security debt, track reporting, or adopting harness conventions in a new repo.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Harness
|
|
@@ -12,6 +12,8 @@ Read `using-harness/SKILL.md` first in a sentropic repository. Then read only th
|
|
|
12
12
|
- `debug/SKILL.md` before diagnosing a defect or unexpected behavior.
|
|
13
13
|
- `test/SKILL.md` when adding or changing tests.
|
|
14
14
|
- `review/SKILL.md` before completion or merge.
|
|
15
|
+
- `security/SKILL.md` for dependency, vulnerability, and supply-chain debt.
|
|
16
|
+
- `track-report/SKILL.md` for a track report, status, or advancement report — rendered in session, no AI subprocess.
|
|
15
17
|
- `adopt/SKILL.md` when bringing the method to a new repository.
|
|
16
18
|
|
|
17
19
|
Follow the selected workflow completely. Repository-local `AGENTS.md` and explicit user instructions take precedence.
|
|
@@ -9,16 +9,99 @@ Native sentropic code/design review. Stronger than a single review: **≥2 indep
|
|
|
9
9
|
lenses, reconciled. Open it with `harness review "<target>" --consensus [--peers <n>]` (records a
|
|
10
10
|
WorkEvent).
|
|
11
11
|
|
|
12
|
+
## Author-complementary selection
|
|
13
|
+
|
|
14
|
+
Before selecting a reviewer, create a repo-local Markdown review dossier tied to the target's exact
|
|
15
|
+
commit/path and, for a working-tree target, the SHA-256 of the bytes from
|
|
16
|
+
`git diff HEAD --no-ext-diff`. It MUST record the author's `host`, exact `model`, and `effort`. Host means
|
|
17
|
+
`claude` or `codex`, the profiles the launch operation actually accepts. **Unknown author means no
|
|
18
|
+
acceptable review:** write `status: selection-failed` and `observed-failure` to that dossier, then stop;
|
|
19
|
+
never infer missing metadata from the current CLI.
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
review-author:
|
|
23
|
+
host: codex
|
|
24
|
+
model: <exact-model-id>
|
|
25
|
+
effort: <low|medium|high|xhigh>
|
|
26
|
+
target-ref: <commit/path>
|
|
27
|
+
target-diff-sha256: <required for a working-tree target>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Build candidates as `(profile, model, effort, lens)` from the currently reachable h2a/llm-mesh set. Resolve
|
|
31
|
+
model ids through the `h2a-run` skill/live mesh; never freeze a routing table here. Mechanically keep a
|
|
32
|
+
candidate only when:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
candidate.profile != author.host && candidate.model != author.model
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Deduplicate surviving `(profile, model)` pairs and require ≥2. Complementarity is on the **host**, not
|
|
39
|
+
only the model: Codex authors get Claude-hosted legs; Claude authors get Codex-hosted legs. If fewer than
|
|
40
|
+
two eligible legs remain, write `status: selection-failed` and `observed-failure` to the dossier; do not
|
|
41
|
+
claim consensus.
|
|
42
|
+
|
|
43
|
+
## Dispatch through h2a
|
|
44
|
+
|
|
45
|
+
Keep legs blind and give each the same target plus a distinct adversarial lens. Launch only through the
|
|
46
|
+
installed h2a MCP server's `h2a_run` tool — that is how a skill user reaches the `h2a run` operation.
|
|
47
|
+
The packaged Claude Code hook also refuses direct `h2a` CLI calls from Bash.
|
|
48
|
+
|
|
49
|
+
The MCP call requires `profile: "claude"|"codex"`, a unique `name`, `prompt`, `background: true`, and an
|
|
50
|
+
absolute existing directory `workspace` that realpaths inside the MCP startup root and outside the OS temp
|
|
51
|
+
directory. It optionally accepts `model`, `effort: low|medium|high|xhigh`, `gateway: auto|required|off`,
|
|
52
|
+
`headless`, and `h2aSidecar`; `required` is Claude-only, so Codex uses `auto|off`.
|
|
53
|
+
Use no other profile or field. Never embed an endpoint or credential: h2a and the llm-mesh own accounts,
|
|
54
|
+
reachability, routing, and fallback.
|
|
55
|
+
|
|
56
|
+
The selector compares the exact **declared/requested** model ids. Today's launch receipt does not attest
|
|
57
|
+
the effective post-routing model or effort, so it cannot expose an unreported fallback. Never describe the
|
|
58
|
+
request, receipt, or reviewer's self-report as proof of effective identity.
|
|
59
|
+
|
|
60
|
+
## One readable artefact per leg
|
|
61
|
+
|
|
62
|
+
Create a readable Markdown stub at a unique repo-local path before dispatch and put that exact path in the
|
|
63
|
+
prompt. Use a machine-readable header:
|
|
64
|
+
|
|
65
|
+
```yaml
|
|
66
|
+
status: dispatched|completed|failed
|
|
67
|
+
reviewer-host: claude|codex
|
|
68
|
+
reviewer-model: <declared/requested-model-id>
|
|
69
|
+
reviewer-effort: <low|medium|high|xhigh>
|
|
70
|
+
target-ref: <commit/path>
|
|
71
|
+
target-diff-sha256: <required for a working-tree target>
|
|
72
|
+
lens: <assigned-adversarial-lens>
|
|
73
|
+
observed-failure: <required when failed>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
A completed leg adds readable reasoning, findings, and a verdict. A failed leg has no verdict. A launch
|
|
77
|
+
result proves only that a session started; a table saying `GO` is not a leg artefact.
|
|
78
|
+
|
|
79
|
+
Launch rejection, agent error, timeout, missing/unreadable file, or mismatch among selected/requested/
|
|
80
|
+
declared metadata is the leg's `FAILED` result. The coordinator writes the observed failure to the stub;
|
|
81
|
+
never report the verdict the tool would have produced and never hide a failed leg behind an unrecorded
|
|
82
|
+
retry.
|
|
83
|
+
|
|
12
84
|
## Consensus protocol
|
|
13
85
|
|
|
14
|
-
1.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
86
|
+
1. Dispatch ≥2 eligible independent peers on the SAME diff/design, each blind to the others.
|
|
87
|
+
2. Use distinct lenses where a finding can fail in more than one way: correctness · security · performance
|
|
88
|
+
· does-it-actually-reproduce.
|
|
89
|
+
3. Refute by default. A finding survives only if it withstands the skeptics; a kill needs a majority.
|
|
90
|
+
4. Reconcile only completed leg artefacts. Preserve disagreements and classify accept / reject / defer
|
|
91
|
+
with a one-line rationale; do not average.
|
|
92
|
+
5. Write the aggregate result to the review dossier with links to every leg, using:
|
|
93
|
+
|
|
94
|
+
```yaml
|
|
95
|
+
status: completed|incomplete|selection-failed
|
|
96
|
+
legs:
|
|
97
|
+
- path: <repo-local-leg-path>
|
|
98
|
+
status: completed|failed
|
|
99
|
+
consensus-verdict: <required only when status is completed; omit otherwise>
|
|
100
|
+
observed-failure: <required when status is incomplete or selection-failed; omit otherwise>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
`completed` requires ≥2 eligible completed legs and no failed dispatched leg. Any dispatched leg that
|
|
104
|
+
fails makes the dossier `incomplete`; selection failure and incomplete review have no consensus verdict.
|
|
22
105
|
|
|
23
106
|
## Receiving review (technical rigor, not performative agreement)
|
|
24
107
|
|
|
@@ -31,3 +114,11 @@ ambiguous.
|
|
|
31
114
|
Findings that gate a lot escalate to a `VerificationRun` (`harness verify --category static`). Narrative
|
|
32
115
|
findings stay a `WorkEvent`. Blocking findings must be resolved before merge; non-blocking are logged in
|
|
33
116
|
`BRANCH.md` `## Feedback Loop` with owner + status.
|
|
117
|
+
|
|
118
|
+
## Enforcement boundary
|
|
119
|
+
|
|
120
|
+
**Structural > test > spec line > habit.** The MCP schema and Claude Code Bash guard are structural for
|
|
121
|
+
launch shape only. This skill states the metadata, selector, artefact, and failure contract (spec line),
|
|
122
|
+
but an agent still applies the predicate, trusts declared identities, and checks outputs (habit). No code
|
|
123
|
+
in this design enforces author exclusion or attests the effective model; do not present either as
|
|
124
|
+
structural or test-backed.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security
|
|
3
|
+
description: Use for dependency, vulnerability, and supply-chain debt — maps scanner coverage, makes exceptions expire, and wires enforceable gates.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# harness/security
|
|
7
|
+
|
|
8
|
+
Native vulnerability-debt discipline. Load it before accepting findings, changing dependency policy, or
|
|
9
|
+
shipping an artifact. It is not a claim that one scanner covers a repo.
|
|
10
|
+
|
|
11
|
+
## Map the coverage boundary
|
|
12
|
+
|
|
13
|
+
Inventory each shipped/runnable surface: resolved dependency trees, container image/base OS, vendored
|
|
14
|
+
code, and packaged/generated artefacts. A coverage map records component, embedded path, delivery form,
|
|
15
|
+
stack-appropriate scanner, and CI gate. Choose from the lockfile/package manager, image builder, and
|
|
16
|
+
artifact format; do not hardcode an ecosystem command into a portable repo.
|
|
17
|
+
|
|
18
|
+
A dependency scanner sees only its resolved package tree, not image layers, vendored artefacts, packaged
|
|
19
|
+
builds, or another ecosystem's tree. An unscanned surface is a visible coverage gap, never an exception;
|
|
20
|
+
use an SBOM or artifact/image scanner at the appropriate boundary.
|
|
21
|
+
|
|
22
|
+
## Triage and record exceptions
|
|
23
|
+
|
|
24
|
+
Fix a HIGH finding on its own dedicated branch; do not wait for a dependency batch. An accepted finding in
|
|
25
|
+
`.security/vulnerability-register.yaml` has stable advisory/scanner identity, scanner-native affected
|
|
26
|
+
identifier/version or digest, component, embedded path, severity/source, rationale, owner, accepted date,
|
|
27
|
+
`review_by: YYYY-MM-DD` (UTC), and removal plan with target. Match identity, affected item, component,
|
|
28
|
+
and path exactly: no package-wide, glob, or expiry-free suppression.
|
|
29
|
+
|
|
30
|
+
`review_by` is the last valid UTC date, not a reminder. The gate validates every row on every run; when
|
|
31
|
+
the current UTC date is later, it emits advisory, owner, component, path, and date, then fails until the
|
|
32
|
+
finding is fixed or a new explicit decision renews it. Missing, malformed, or non-matching rows suppress
|
|
33
|
+
nothing.
|
|
34
|
+
|
|
35
|
+
## Gate and threshold
|
|
36
|
+
|
|
37
|
+
CI scans first, consults the checked-in register, then suppresses only exact, unexpired accepted findings.
|
|
38
|
+
Never blanket-disable a scanner or globally ignore results to unblock release. Give dependency-tree, image,
|
|
39
|
+
and artifact gates separate results so their coverage cannot be confused.
|
|
40
|
+
|
|
41
|
+
Choose the threshold from scanner signal, exposure, exploitability, patch burden, and triage capacity.
|
|
42
|
+
Failing on LOW commonly creates noise that gets the gate disabled; failing on nothing is theatre. Many
|
|
43
|
+
repos initially fail HIGH/CRITICAL and report MEDIUM/LOW with an owner/SLA; that is a reasoned starting
|
|
44
|
+
point, not a harness default.
|
|
45
|
+
|
|
46
|
+
## Enforceability ladder
|
|
47
|
+
|
|
48
|
+
**Structural > test > spec line > habit.** CI matching, expiry failure, and separate surface gates are
|
|
49
|
+
structural. Fixture/contract tests for threshold, exact match, expiry, and malformed rows are test. This
|
|
50
|
+
skill, the repository's documented register fields, and coverage map are spec line. Triage, ownership, and
|
|
51
|
+
keeping removal plans/review dates current are habit, so insufficient alone.
|
|
52
|
+
|
|
53
|
+
The H2A reference implementation — `.security/vulnerability-register.yaml`, `audit:security`, and its CI
|
|
54
|
+
gate — is delivered separately. This skill specifies that contract; it neither creates the gate nor proves
|
|
55
|
+
an unobserved platform result.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: track-report
|
|
3
|
+
description: Use when asked for a track report, status, or advancement report. Read the deterministic conductor first; any contextual synthesis is advisory conversation work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# harness/track-report
|
|
7
|
+
|
|
8
|
+
The agent already in the conversation supplies the contextual prose. `track` supplies complete,
|
|
9
|
+
deterministic facts. Do not call a model, adapter, gateway, or network-backed report path. Every command
|
|
10
|
+
below is a local, read-only projection of the folded log.
|
|
11
|
+
|
|
12
|
+
## Read the deterministic layer
|
|
13
|
+
|
|
14
|
+
Run these commands from the repository root, in this order:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
track report --raw --format json
|
|
18
|
+
track report --wp --decisions --format json
|
|
19
|
+
track decision ls --outcome pending --format json
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
- The first command is the factual snapshot: all buckets, their raw total, recent events, decision
|
|
23
|
+
`structure`, `outsideRollup`, and a reconciled `wpTotals`.
|
|
24
|
+
- The second is the complete conductor projection. Its `wpTree` and `view` are the only source for WP
|
|
25
|
+
identity, per-WP percentages, directives, and their deterministic order. It never truncates rows.
|
|
26
|
+
- The third lists every pending decision without a renderer cap. Each row carries its exact `workspace`,
|
|
27
|
+
`options`, `recommendation`, and `structure` (`structured` or `unstructured`).
|
|
28
|
+
|
|
29
|
+
Do not use `track report --flat` to recover omitted conductor rows: it is a deterministic flat diagnostic,
|
|
30
|
+
not an emergency route. The conductor projection above is complete. Do not use `track report --level wp`
|
|
31
|
+
to label WPs for this report; it is a different status projection. If it is useful as a diagnostic, its
|
|
32
|
+
labels now match the conductor, but the conductor remains the report's single source.
|
|
33
|
+
|
|
34
|
+
If `outsideRollup` is non-empty, render a visible **HORS ROLLUP** group with every row. `wpId` absent means
|
|
35
|
+
the item has no WP ancestor; a present `wpId` means an intermediate non-WP item is outside the leaf-only
|
|
36
|
+
rollup. Neither may disappear from the report. Check that `DONE + TO-DO + AWAITED + DROPPED` equals
|
|
37
|
+
`wpTotals.done + (wpTotals.active - wpTotals.done) + wpTotals.dropped`; if it does not, report the mismatch
|
|
38
|
+
as a tool defect rather than silently selecting a denominator.
|
|
39
|
+
|
|
40
|
+
## Inspect decisions safely
|
|
41
|
+
|
|
42
|
+
Never infer choices by parsing a prose `context` field.
|
|
43
|
+
|
|
44
|
+
- A `structured` decision has at least two stored `options` and a stored `recommendation`; render those
|
|
45
|
+
choices, their stored titles/summaries, and the recommendation in **DÉCISIONS**. Do not invent an effect:
|
|
46
|
+
no separate machine-readable effect field is exposed.
|
|
47
|
+
- An `unstructured` decision has no machine-readable choice set, even if its prose happens to contain
|
|
48
|
+
“Choix A”. Put it in **À INSTRUIRE** as “dossier à structurer”; say explicitly that alternatives are not
|
|
49
|
+
recorded. Do not present it as an owner choice with invented alternatives.
|
|
50
|
+
|
|
51
|
+
For a single structured dossier, use the exact workspace from `decision ls`:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
track focus <decision-id> --workspace <workspace-from-decision-ls>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
`--workspace` is required. A mismatched workspace is an error; never substitute `track workspace-id` or a
|
|
58
|
+
workspace inferred from the current directory. Number only structured decisions `D1…Dn`, in their relative
|
|
59
|
+
`decision ls` order, and retain each decision id alongside the number. Unstructured dossiers do not reserve
|
|
60
|
+
a D-number: list them in À INSTRUIRE as “dossier à structurer”.
|
|
61
|
+
|
|
62
|
+
This skill is **advisory**. No command, hook, MCP tool, or validator executes it
|
|
63
|
+
or proves that a synthesis followed it. Do not describe this guidance as an
|
|
64
|
+
enforcement mechanism.
|
|
65
|
+
|
|
66
|
+
**FAIT** — `scope · avancement · dernières actions`. State the period you used (last report, baseline
|
|
67
|
+
commit, or explicit session boundary) and synthesize accomplishments, not inventory. Keep the raw and
|
|
68
|
+
conductor total distinction honest: they should now reconcile; mention HORS ROLLUP when it is non-empty.
|
|
69
|
+
|
|
70
|
+
**À-FAIRE** — `WP · av. · à faire · bloqué · prochaine action`. Render every WP from `view.tables`, then
|
|
71
|
+
the HORS ROLLUP rows when present. Start with the deterministic `view.directives` order: it combines the
|
|
72
|
+
recorded gate/acceptance/WIP ladder with stored WSJF where one exists. Do not call that subjective
|
|
73
|
+
“priority” when `facts.wsjf` is absent. A `priority-missing` directive means the log has no assessment;
|
|
74
|
+
only an owner-authorized write such as
|
|
75
|
+
`track priority assess <item-id> --ubv <n> --tc <n> --rr <n> --js <n>` can add one.
|
|
76
|
+
|
|
77
|
+
`prochaine action` must name an executor. The log does **not** record a model or reasoning effort. Use a
|
|
78
|
+
model/effort only when owner/session context supplied it; otherwise write exactly that the executor is
|
|
79
|
+
owner context required, for example: `exécuteur: contexte owner requis (modèle/effort non présents dans le
|
|
80
|
+
journal)`. Do not invent `sol xhigh` or similar conventions, and do not leave the field blank.
|
|
81
|
+
|
|
82
|
+
**DÉCISIONS** — only structured, genuine native dossiers (pending or settled). Render their stored alternatives,
|
|
83
|
+
recommendation, and a durable selected option when present. `formatWpConductor` uses ordinary
|
|
84
|
+
drawn tables and does not add a fence; add one only when the destination requires it. Rule-derived
|
|
85
|
+
blocker prompts stay in À-FAIRE; unstructured dossiers stay in À INSTRUIRE.
|
|
86
|
+
|
|
87
|
+
**RECOMMANDATION** — an executable plan conditioned on those decisions: name lanes that can start now,
|
|
88
|
+
what each answer unblocks, and where executor context is still required. The owner must be able to reply
|
|
89
|
+
`vas y` or `D1 A · D2 B` without the report pretending an unrecorded choice exists.
|
|
90
|
+
|
|
91
|
+
`track report --inline` is a compact terminal summary, not the complete report route: it may summarize a
|
|
92
|
+
tail with an explicit count. Do not use it to satisfy the four sections above or to recover HORS ROLLUP rows.
|
|
93
|
+
|
|
94
|
+
## Honesty rules
|
|
95
|
+
|
|
96
|
+
- Every conductor row, pending decision, and outside-rollup item appears. Never summarize a hidden tail as
|
|
97
|
+
“+N autres”.
|
|
98
|
+
- A rule-derived prompt is not a decision. It belongs in À-FAIRE as a dossier/action to prepare.
|
|
99
|
+
- Prefer named items and concrete acceptance debt over generic counts.
|
|
100
|
+
- The deterministic layer proves structure and order; contextual wording remains the agent's responsibility.
|
|
101
|
+
State uncertainty instead of promoting a missing stored fact to a conclusion.
|
|
102
|
+
|
|
103
|
+
Spec: `docs/specs/2026-07-28-track-report-contextual-rendering.md`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: using-harness
|
|
3
|
-
description: Load FIRST in any sentropic repo — establishes the harness method (branch/scope/test/debug/review/brainstorm/plan) and replaces legacy superpowers for those acts.
|
|
3
|
+
description: Load FIRST in any sentropic repo — establishes the harness method (branch/scope/test/debug/review/security/track-report/brainstorm/plan) and replaces legacy superpowers for those acts.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Using harness
|
|
@@ -20,6 +20,8 @@ compatibility only. Do NOT invoke superpowers for acts covered here — use the
|
|
|
20
20
|
| tests | `harness/test` | superpowers:test-driven-development |
|
|
21
21
|
| debugging | `harness/debug` | superpowers:systematic-debugging |
|
|
22
22
|
| code review | `harness/review` | superpowers:requesting/receiving-code-review |
|
|
23
|
+
| dependency / vulnerability debt | `harness/security` | — |
|
|
24
|
+
| track report / status / advancement | `harness/track-report` | — |
|
|
23
25
|
| planning | `harness/plan` | superpowers:writing-plans / executing-plans |
|
|
24
26
|
| branch lifecycle | `harness branch init|close` | superpowers:using-git-worktrees / finishing-a-development-branch |
|
|
25
27
|
| scope / verification | `harness verify` · `harness check scope|branch` | superpowers:verification-before-completion |
|
|
Binary file
|