@event4u/agent-config 3.1.1 → 3.3.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/.agent-src/commands/agent-status.md +1 -1
- package/.agent-src/commands/analytics/prune.md +78 -0
- package/.agent-src/commands/analytics/show.md +107 -0
- package/.agent-src/commands/analytics.md +64 -0
- package/.agent-src/commands/knowledge/forget.md +104 -0
- package/.agent-src/commands/knowledge/ingest.md +122 -0
- package/.agent-src/commands/knowledge/list.md +102 -0
- package/.agent-src/commands/knowledge.md +75 -0
- package/.agent-src/scripts/update_roadmap_progress.py +1 -1
- package/.agent-src/skills/compress-memory/SKILL.md +1 -1
- package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/.claude-plugin/marketplace.json +8 -1
- package/AGENTS.md +5 -4
- package/CHANGELOG.md +54 -222
- package/README.md +12 -2
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +164 -10
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +12 -5
- package/dist/discovery/trust-report.md +2 -2
- package/dist/discovery/workspaces.json +11 -4
- package/dist/mcp/mcp-cloudflare-catalogue.json +2 -0
- package/dist/mcp/registry-manifest.json +5 -3
- package/docs/architecture.md +1 -1
- package/docs/archive/CHANGELOG-pre-3.2.0.md +268 -0
- package/docs/benchmarks.md +4 -4
- package/docs/catalog.md +9 -2
- package/docs/contracts/CHANGELOG-conventions.md +20 -1
- package/docs/contracts/adr-mcp-runtime.md +1 -1
- package/docs/contracts/at-rest-encryption.md +146 -0
- package/docs/contracts/benchmark-corpus-spec.md +3 -3
- package/docs/contracts/benchmark-report-schema.md +5 -5
- package/docs/contracts/caveman-telemetry.md +4 -4
- package/docs/contracts/compression-default-kill-criterion.md +5 -5
- package/docs/contracts/cost-enforcement.md +1 -1
- package/docs/contracts/daily-workspace.md +137 -0
- package/docs/contracts/explain-modes.md +146 -0
- package/docs/contracts/host-agent-protocol.md +88 -0
- package/docs/contracts/local-analytics.md +148 -0
- package/docs/contracts/local-knowledge-ingestion.md +96 -0
- package/docs/contracts/mcp-beta-criteria.md +1 -1
- package/docs/contracts/mcp-cloud-scope.md +4 -4
- package/docs/contracts/mcp-registry-manifest.schema.json +1 -1
- package/docs/contracts/mcp-tool-inventory.md +1 -1
- package/docs/contracts/mcp-tool-stub-envelope.md +1 -1
- package/docs/contracts/measurement-baseline.md +6 -6
- package/docs/contracts/role-experience.md +121 -0
- package/docs/contracts/workspace-documents.md +140 -0
- package/docs/decisions/ADR-022-daily-workspace-decomposition.md +140 -0
- package/docs/decisions/ADR-023-host-agent-protocol.md +129 -0
- package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +126 -0
- package/docs/decisions/ADR-025-workspace-chrome.md +119 -0
- package/docs/decisions/ADR-026-explain-mode-translation.md +117 -0
- package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +129 -0
- package/docs/decisions/ADR-028-root-layout.md +147 -0
- package/docs/decisions/ADR-029-multi-workspace-deferred.md +122 -0
- package/docs/decisions/INDEX.md +8 -0
- package/docs/deploy/small-team-recipe.md +148 -0
- package/docs/deploy/team-deployment-posture.md +91 -0
- package/docs/getting-started-by-role.md +27 -0
- package/docs/getting-started.md +1 -1
- package/docs/guides/local-analytics.md +125 -0
- package/docs/guides/local-knowledge.md +127 -0
- package/docs/mcp-server.md +1 -1
- package/docs/parity/bench-ruflo.json +3 -3
- package/docs/parity/ruflo.md +1 -1
- package/docs/setup/mcp-client-config.md +1 -1
- package/docs/setup/mcp-cloud-endpoints.md +1 -1
- package/docs/setup/mcp-cloud-setup.md +2 -2
- package/docs/setup/mcp-r2-bootstrap.md +1 -1
- package/package.json +4 -2
- package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
- package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
- package/scripts/_lib/bench_caveman.py +2 -2
- package/scripts/_lib/bench_caveman_report.py +1 -1
- package/scripts/_lib/bench_cost.py +2 -2
- package/scripts/_lib/bench_report.py +2 -2
- package/scripts/_lib/changelog_eras.py +330 -0
- package/scripts/audit_mcp_tools.py +1 -1
- package/scripts/bench_baseline_ready.py +3 -3
- package/scripts/bench_compress_memory.py +4 -4
- package/scripts/bench_drift_check.py +2 -2
- package/scripts/bench_per_tool.py +2 -2
- package/scripts/bench_run.py +4 -4
- package/scripts/build_mcp_registry_manifest.py +2 -2
- package/scripts/mcp_server/__init__.py +1 -1
- package/scripts/mcp_server/catalog.py +1 -1
- package/scripts/mcp_server/consumer_tool_catalog.json +1 -1
- package/scripts/mcp_server/tools.py +1 -1
- package/scripts/memory_lookup.py +78 -1
- package/scripts/pack_mcp_content.py +6 -6
- package/scripts/release.py +93 -3
- package/scripts/skill_trigger_eval.py +2 -2
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
# Changelog Archive — pre-3.2.0
|
|
2
|
+
|
|
3
|
+
> Frozen snapshot of `event4u/agent-config` changelog entries for
|
|
4
|
+
> `3.1.0` and `3.1.1`, split out of the main
|
|
5
|
+
> [`CHANGELOG.md`](../../CHANGELOG.md) on 2026-05-25 once the active
|
|
6
|
+
> era's body crossed the drift cap enforced by
|
|
7
|
+
> `tests/test_changelog_eras.py`.
|
|
8
|
+
>
|
|
9
|
+
> **Read-only.** New entries land in `CHANGELOG.md` § "Era: 3.2.x".
|
|
10
|
+
> Entries here are not amended — git tags `3.1.0` and `3.1.1` remain
|
|
11
|
+
> the canonical source for what shipped.
|
|
12
|
+
>
|
|
13
|
+
> Entry shape follows the conventions documented in
|
|
14
|
+
> [`docs/contracts/CHANGELOG-conventions.md`](../contracts/CHANGELOG-conventions.md).
|
|
15
|
+
> Earlier eras live in
|
|
16
|
+
> [`CHANGELOG-pre-3.1.0.md`](CHANGELOG-pre-3.1.0.md),
|
|
17
|
+
> [`CHANGELOG-pre-3.0.0.md`](CHANGELOG-pre-3.0.0.md),
|
|
18
|
+
> [`CHANGELOG-pre-2.25.0.md`](CHANGELOG-pre-2.25.0.md),
|
|
19
|
+
> [`CHANGELOG-pre-2.20.0.md`](CHANGELOG-pre-2.20.0.md),
|
|
20
|
+
> [`CHANGELOG-pre-2.17.0.md`](CHANGELOG-pre-2.17.0.md),
|
|
21
|
+
> [`CHANGELOG-pre-2.16.0.md`](CHANGELOG-pre-2.16.0.md),
|
|
22
|
+
> [`CHANGELOG-pre-2.15.0.md`](CHANGELOG-pre-2.15.0.md),
|
|
23
|
+
> [`CHANGELOG-pre-2.11.0.md`](CHANGELOG-pre-2.11.0.md),
|
|
24
|
+
> [`CHANGELOG-pre-2.7.0.md`](CHANGELOG-pre-2.7.0.md), and
|
|
25
|
+
> [`CHANGELOG-pre-2.2.0.md`](CHANGELOG-pre-2.2.0.md).
|
|
26
|
+
|
|
27
|
+
## [3.1.1](https://github.com/event4u-app/agent-config/compare/3.1.0...3.1.1) (2026-05-24)
|
|
28
|
+
|
|
29
|
+
### Bug Fixes
|
|
30
|
+
|
|
31
|
+
* **deploy:** docker-compose smoke boots wizard URL in 12s ([0d34f95](https://github.com/event4u-app/agent-config/commit/0d34f9548bb219ee330fefcf0f8657dbc0930923))
|
|
32
|
+
|
|
33
|
+
### Documentation
|
|
34
|
+
|
|
35
|
+
* **roadmaps:** close last open ACs and archive completed roadmaps ([93035c5](https://github.com/event4u-app/agent-config/commit/93035c53d805327351d90b20b6b0662de6efead3))
|
|
36
|
+
|
|
37
|
+
Tests: 4839 (+0 since 3.1.0)
|
|
38
|
+
|
|
39
|
+
## [3.1.0](https://github.com/event4u-app/agent-config/compare/3.0.0...3.1.0) (2026-05-24)
|
|
40
|
+
|
|
41
|
+
### Features
|
|
42
|
+
|
|
43
|
+
* **gui:** wire telemetry opt-in into wizard apply ([9da4790](https://github.com/event4u-app/agent-config/commit/9da479012c25b7882ff877a433e417500d0a974f))
|
|
44
|
+
* **telemetry-worker:** add Cloudflare Worker source ([f42eba6](https://github.com/event4u-app/agent-config/commit/f42eba665c56149eb92a0e16e0c08a50680b1f76))
|
|
45
|
+
* **telemetry:** add client SDK with four-gate inertia ([2d58a56](https://github.com/event4u-app/agent-config/commit/2d58a56b43c7287bfb3bf445b55d3302cd1569ab))
|
|
46
|
+
* **gui:** add --host binding and /api/v1/health for deployment ([abc3a1a](https://github.com/event4u-app/agent-config/commit/abc3a1ade37e09a20afc8b8544e4cffaf09a4645))
|
|
47
|
+
* **deploy:** add Dockerfile and docker-compose manifests ([9ac9fee](https://github.com/event4u-app/agent-config/commit/9ac9fee734176274a0dd2064e324fcbebebd939e))
|
|
48
|
+
* **distribution:** sync package.json keywords with topics + handoff template ([49382ec](https://github.com/event4u-app/agent-config/commit/49382ec243e2dcc36c7c7e3bad3cbad9463d900e))
|
|
49
|
+
* **rules:** harden no-cheap-questions with Iron Laws 5 + 6 ([8c5b73e](https://github.com/event4u-app/agent-config/commit/8c5b73eebba4365619d20add68f5e983f7424cd2))
|
|
50
|
+
* **installer-gui:** Explain tab + vertical timeline + help expanders ([e8c6968](https://github.com/event4u-app/agent-config/commit/e8c6968fad6a559d462c992590e1805d274adc37))
|
|
51
|
+
* **installer-gui:** add GET /api/v1/explain/last endpoint ([bba2f8e](https://github.com/event4u-app/agent-config/commit/bba2f8e37f43c6c2bdc9efc94db5519b06e84c0a))
|
|
52
|
+
* **installer-gui:** wrap explain-last CLI behind safe-spawn runner ([1ff60ea](https://github.com/event4u-app/agent-config/commit/1ff60ea200a630cf595492fb156d61457422220e))
|
|
53
|
+
* **installer-gui:** three-tab navigation, tasks + council surfaces ([6718f94](https://github.com/event4u-app/agent-config/commit/6718f946d7f5a5c1029830949106865826925a2f))
|
|
54
|
+
* **installer-gui:** add task + council api endpoints ([f2d71a0](https://github.com/event4u-app/agent-config/commit/f2d71a0029006733886da8ff7f3f8d616558ebff))
|
|
55
|
+
* **installer-gui:** inline task-exec layer with closed allowlist ([a189ffa](https://github.com/event4u-app/agent-config/commit/a189ffa7e5e1f3939264d50ab889d340e2efa971))
|
|
56
|
+
* **schema:** add gui_runnable property for taskfile commands ([5b20187](https://github.com/event4u-app/agent-config/commit/5b20187c271f0523590c18c43d2b7ca98362a59d))
|
|
57
|
+
* **installer-gui:** wire dryRun through the postApply handler ([2ac9f63](https://github.com/event4u-app/agent-config/commit/2ac9f63c0c4903c72034e16ed0db7436fac180f8))
|
|
58
|
+
* **wizard-apply:** bridge WizardApplyPayload to scripts/install.py ([db776d9](https://github.com/event4u-app/agent-config/commit/db776d980c15d736a0aa8f28a2fc7b8f85e7c7c2))
|
|
59
|
+
* **wizard-ui:** wire extendedSteps signal through the step engine ([e4ced30](https://github.com/event4u-app/agent-config/commit/e4ced30c07bb7bacab32d4eda507d0347b111204))
|
|
60
|
+
* **doctor:** add wizard-state health check + --repair ([df04a4a](https://github.com/event4u-app/agent-config/commit/df04a4a965a17cd95825c21ad35e7d75946c7532))
|
|
61
|
+
* **cli:** agent-config migrate-to-global subcommand (Phase 5) ([1155e28](https://github.com/event4u-app/agent-config/commit/1155e281d6e3c909212bd4cc968017c72d115034))
|
|
62
|
+
* **install:** consumer surface + bridge marker (Phase 4) ([5dd42f5](https://github.com/event4u-app/agent-config/commit/5dd42f5d2a2ce92f9b1210145d64a4f44be1bccb))
|
|
63
|
+
* **installer:** TypeScript CLI mirrors consumer-global-only gate ([c0ed91d](https://github.com/event4u-app/agent-config/commit/c0ed91df577083253c533d5791d705d31a3ac204))
|
|
64
|
+
* **install:** bash orchestrator consumer-global-only gate ([77542f7](https://github.com/event4u-app/agent-config/commit/77542f7025c5035403689e21da34855b838ce87d))
|
|
65
|
+
* **install:** flip SCOPE_SUPPORT to global-only + dev-mode matrix bypass ([f3ed87c](https://github.com/event4u-app/agent-config/commit/f3ed87c8c8b17e656d7795d34d7c4ef5893f1603))
|
|
66
|
+
* **wizard:** scope-to-project opt-in checkbox + project-scope route ([e5c5abf](https://github.com/event4u-app/agent-config/commit/e5c5abffd24650c5ecc7c4d1a055923946e46ed9))
|
|
67
|
+
* **cli:** settings:migrate subcommand + settings-api docs sweep ([0384963](https://github.com/event4u-app/agent-config/commit/0384963539155fea4f9c80e63113e8c1cde387bd))
|
|
68
|
+
* **settings:** TypeScript three-layer reader + Phase 2.2 closeout ([a03cd10](https://github.com/event4u-app/agent-config/commit/a03cd107b1250678d346c4dce6e7490952b3e0e1))
|
|
69
|
+
* **wizard:** extended-mode 9-step flow with ai-tools + packs ([3ede109](https://github.com/event4u-app/agent-config/commit/3ede10902421cabf9f17668892d476a92612223d))
|
|
70
|
+
* **install:** three-layer settings reader + consumer-global-only gate ([7a026e4](https://github.com/event4u-app/agent-config/commit/7a026e48aab01bdf6cd8fc6f7ba9dcb825735c2e))
|
|
71
|
+
* **security:** lint_global_paths.py — Phase 5.0 perms entry-gate ([8ed0734](https://github.com/event4u-app/agent-config/commit/8ed0734dd1da74f98c3a91b9fb77ecc76e2cec34))
|
|
72
|
+
* **contracts:** consumer-bridge spec for agents/.event4u-bridge.yml ([c717279](https://github.com/event4u-app/agent-config/commit/c717279560eedb2e238b8578775e13932a66213e))
|
|
73
|
+
* **wizard:** lock /api/apply payload schema with schema_version discriminator ([dda4b98](https://github.com/event4u-app/agent-config/commit/dda4b981e31621a9c6d56707895310e1a8e58c83))
|
|
74
|
+
* **dev:** add dev:install:gui task pair for unified-wizard rollout ([7f030b8](https://github.com/event4u-app/agent-config/commit/7f030b86e4579ce375658421eb01680422959cb5))
|
|
75
|
+
* **packs:** FIRST_WIN.md + onboarding metadata for five featured packs ([cfdcc3a](https://github.com/event4u-app/agent-config/commit/cfdcc3af31653913623696f9330556e9a6dec164))
|
|
76
|
+
* add Read-Loop Detection (15/25 rule) and Debug micro-loop ([bed14c9](https://github.com/event4u-app/agent-config/commit/bed14c958841d7a8b3dfb3b56bb90df89f6b2429))
|
|
77
|
+
* migrate user identity to agents/settings/.agent-user.yml ([df45a07](https://github.com/event4u-app/agent-config/commit/df45a07afebde25ffd1696a90cb8dddd9b789115))
|
|
78
|
+
* **wizard:** close-window banner and suppress Finish on no-changes ([43c080c](https://github.com/event4u-app/agent-config/commit/43c080c53848117de0842005c8ffb5449cba2695))
|
|
79
|
+
* **wizard:** drop personal.user_name + identity.nickname; seed identity.name via legacy hint ([f38bab5](https://github.com/event4u-app/agent-config/commit/f38bab57330c2033d2a65f62ac416f354941031f))
|
|
80
|
+
* **wizard:** auto-migrate legacy .agent-settings.yml + .agent-user.md on finish ([03210de](https://github.com/event4u-app/agent-config/commit/03210def8259944dbc82d0de07a381bbad67073d))
|
|
81
|
+
* **server:** mint dry-run tokens with persist:false ([79d99e3](https://github.com/event4u-app/agent-config/commit/79d99e3b55ce5320b0db847485e9b2b1a2e9cdc7))
|
|
82
|
+
* **install.py:** auto-launch wizard + --dry-run + --no-ui ([3258309](https://github.com/event4u-app/agent-config/commit/3258309e2c821fa72ea42ee50e439b79b474ee43))
|
|
83
|
+
* **installer/gui:** add 'gui' subcommand + atomic PID lock ([53cf215](https://github.com/event4u-app/agent-config/commit/53cf215b1f11765c36d0e075e4ae3653da5436a2))
|
|
84
|
+
* **installer/gui:** boot-time rollback prompt + recovery API (P6.4) ([45e2a59](https://github.com/event4u-app/agent-config/commit/45e2a59d521959d96c91877448b920c03f0853b8))
|
|
85
|
+
* **installer/gui:** open-lockfile endpoint + retry button (P6.3) ([81d1708](https://github.com/event4u-app/agent-config/commit/81d1708460fd2b3fa5222b94cfb826ea91c6fae0))
|
|
86
|
+
* **installer/gui:** --gui-idle flag + headless DISPLAY fallback ([2ff5e90](https://github.com/event4u-app/agent-config/commit/2ff5e900b6e579fa8b983192ba861347ce03a1bf))
|
|
87
|
+
* **installer/gui:** inlined SPA + integration tests (P6.4/P6.5) ([5607381](https://github.com/event4u-app/agent-config/commit/5607381e65b41c015923f7d9a1f4f8769ec843ac))
|
|
88
|
+
* **installer/gui:** API handlers + transaction log (P6.2/P6.3) ([aa713f5](https://github.com/event4u-app/agent-config/commit/aa713f55560db5c4f79f20cbed48c37e3074bc56))
|
|
89
|
+
* **installer/gui:** server skeleton + CLI flag (P6.1) ([eb3dd50](https://github.com/event4u-app/agent-config/commit/eb3dd504a0c15d0c7786f7289b5fe8fc30f04358))
|
|
90
|
+
* **ci:** per-pack skill-lint matrix (Phase 4.4 closure) ([887442b](https://github.com/event4u-app/agent-config/commit/887442b74f584897a40843165c86c9bea0cbe024))
|
|
91
|
+
* **lint:** add lint-trust-coherence + wire into ci-fast ([4a8eef7](https://github.com/event4u-app/agent-config/commit/4a8eef78990bdc163eed0d29b1179bf44e08ec1a))
|
|
92
|
+
* **discovery:** emit per-pack trust_summary + human_review counts ([2e09814](https://github.com/event4u-app/agent-config/commit/2e09814061d404f51f7674b46f501e6e5a950594))
|
|
93
|
+
* **compress:** inject HUMAN_REVIEW banner on advisory artefacts ([c3d4c7f](https://github.com/event4u-app/agent-config/commit/c3d4c7f008350e2adb8e7d327cacc1c26e0b667e))
|
|
94
|
+
* **installer:** trust summary, advisory confirm, lockfile escalation ([e73c1cb](https://github.com/event4u-app/agent-config/commit/e73c1cbf07d971fae3009b11a2aa41ca045ffc79))
|
|
95
|
+
* **safety-floors:** add domain safety-floor rules per pack ([5da81ee](https://github.com/event4u-app/agent-config/commit/5da81ee6f9d1f7bf2ee3043efa33ed7d2f098637))
|
|
96
|
+
* **monorepo:** pack manifests, boundary lint, and scaffolders ([8cd24b1](https://github.com/event4u-app/agent-config/commit/8cd24b11658ac86481037f721958d3cf1f00adff))
|
|
97
|
+
* **migration:** add Phase 4 planner, snapshot, and verify scripts ([ed8e007](https://github.com/event4u-app/agent-config/commit/ed8e0074917aeee52283217cc413bf078bc520ff))
|
|
98
|
+
* **install:** deprecate direct `bash install.sh` in favor of TS installer ([baae960](https://github.com/event4u-app/agent-config/commit/baae960c89fabd2eeb8cf17f35fd022561c917d3))
|
|
99
|
+
* **installer:** add TypeScript installer package (ADR-016) ([0470aad](https://github.com/event4u-app/agent-config/commit/0470aad80608965ab75f10a5dd6658cfa87d745c))
|
|
100
|
+
* **discovery:** wire validate + checksum-stability + stats into CI ([33de62d](https://github.com/event4u-app/agent-config/commit/33de62d2a455d15290f2ec0cf18f59dec65cfd4b))
|
|
101
|
+
* **discovery:** emit checksum + requires + stats, orphan-report, sub-views ([2b18b0f](https://github.com/event4u-app/agent-config/commit/2b18b0f36e2d202c73e95636a4e59b2d9f745f8b))
|
|
102
|
+
* **discovery:** lock manifest contract v2 — checksum + requires + stats (ADR-015) ([3e2611f](https://github.com/event4u-app/agent-config/commit/3e2611f9e8e02b9c9e8bc313a5e772663b3ea980))
|
|
103
|
+
* **hooks:** combined pre-commit + standalone frontmatter hook ([09ba992](https://github.com/event4u-app/agent-config/commit/09ba992d1a41e71ced107812a53cbcaece1cc276))
|
|
104
|
+
|
|
105
|
+
### Bug Fixes
|
|
106
|
+
|
|
107
|
+
* **roadmap:** drop hard refs to gitignored agents/tmp/ council files ([5647bc6](https://github.com/event4u-app/agent-config/commit/5647bc67c437cad844ef574ff89fefa9a0596ecf))
|
|
108
|
+
* **check-refs:** treat deferred [~] checkboxes as forward-looking like [ ] ([890081d](https://github.com/event4u-app/agent-config/commit/890081d8dcd4742d95a05f3630a9a0ff42764959))
|
|
109
|
+
* **readme:** restore audience routing block + MCP/dev anchors for CI ([2f76c4f](https://github.com/event4u-app/agent-config/commit/2f76c4f932f84718c033aa4483b624537c5a2927))
|
|
110
|
+
* **roadmap:** allowlist council-sessions ref in API endpoint description ([743f5ca](https://github.com/event4u-app/agent-config/commit/743f5ca6b3a9acc33eb9cfff1b352833634cd842))
|
|
111
|
+
* **readme:** drop link to experimental contract mcp-cloud-scope per check-public-links ([181d8c4](https://github.com/event4u-app/agent-config/commit/181d8c4d649ca9b213482d1fabac92e05be7bb4f))
|
|
112
|
+
* **context:** swap task-specific commands for portable wording in cheap-question-mechanics ([8079f24](https://github.com/event4u-app/agent-config/commit/8079f2471e3ad2d04baaddaad0d5426efce5da91))
|
|
113
|
+
* **test:** normalise wall-clock in orphan-report determinism check ([ca3021c](https://github.com/event4u-app/agent-config/commit/ca3021ce76556fab84886110fe5562ea36529a0c))
|
|
114
|
+
* **lint:** hoist WizardStep import to satisfy consistent-type-imports ([3442ae2](https://github.com/event4u-app/agent-config/commit/3442ae217ea3dd9e55499a6b9d3983168b1f9843))
|
|
115
|
+
* **ci:** one-liner smoke opts into AGENT_CONFIG_DEV_MODE ([0c536f2](https://github.com/event4u-app/agent-config/commit/0c536f2cd906e7e3163fb187d2a2a178a1d3fca4))
|
|
116
|
+
* **ci:** orchestrator tests opt into AGENT_CONFIG_DEV_MODE ([c3fe72b](https://github.com/event4u-app/agent-config/commit/c3fe72b39849117b09450d022921db6913cc6281))
|
|
117
|
+
* **cli:** register migrate-to-global subcommand in TS registry ([3368aab](https://github.com/event4u-app/agent-config/commit/3368aab8c6bb1a84166501b7710dccf7bc2f420f))
|
|
118
|
+
* **parity:** re-mirror agent_settings.py to work_engine template ([d474b5b](https://github.com/event4u-app/agent-config/commit/d474b5bd1c11ab001a48a9dedee0e172c443e8f7))
|
|
119
|
+
* **contracts:** consumer-bridge declares stability: beta ([80d9fac](https://github.com/event4u-app/agent-config/commit/80d9faccd2138eb341ef76c32406ab8baa471939))
|
|
120
|
+
* **ci:** smoke-quickstart sets AGENT_CONFIG_DEV_MODE=1 for installer subprocess ([bafcbbb](https://github.com/event4u-app/agent-config/commit/bafcbbb78af9e62cb6681e4c11e09b50fc873dd4))
|
|
121
|
+
* **readme:** trim back under 750-line budget ([011845b](https://github.com/event4u-app/agent-config/commit/011845be327523ee40fe4547134c24fbea3b5329))
|
|
122
|
+
* **ci:** drop fragile git fetch in kernel-rule bundle check ([2e1f445](https://github.com/event4u-app/agent-config/commit/2e1f445fa2c04d5fd41c003ba8da5310380fd260))
|
|
123
|
+
* **installer/gui:** pre-register SIGINT/SIGTERM before WIZARD_READY ([8d55976](https://github.com/event4u-app/agent-config/commit/8d559766afe2f9bb23bdf3fe701fb9ad72aa94a6))
|
|
124
|
+
* **readme:** restore hero badge line for CI gate ([cfbb219](https://github.com/event4u-app/agent-config/commit/cfbb219b913e51cf62836da93a62f863c2234572))
|
|
125
|
+
* **readme:** restore Commands badge for check-command-count gate ([2895639](https://github.com/event4u-app/agent-config/commit/2895639059bd979b4f14f6a152ab5ad541ee17e7))
|
|
126
|
+
* **roadmap:** drop tmp/-paths from ai-os-product-ui prose lines ([b4dfe3b](https://github.com/event4u-app/agent-config/commit/b4dfe3ba15f22e3e7dd69ff88cdd3aea1aed0b5d))
|
|
127
|
+
* **roadmap:** move council-ref-allowed pragma to same line as r1 link ([41ada11](https://github.com/event4u-app/agent-config/commit/41ada11336500bbe4ed8f995fb1dafc72bec5fec))
|
|
128
|
+
* **docs:** drop transient roadmap link from trust-and-safety contract ([168eb1f](https://github.com/event4u-app/agent-config/commit/168eb1fb982a153ed950e322716de4b784b9b5d3))
|
|
129
|
+
* **rules:** use barewords for cross-pack links in safety-floor rules ([8fbab61](https://github.com/event4u-app/agent-config/commit/8fbab61eb0d334956b27ba9fd017fa169a56524c))
|
|
130
|
+
* stabelize flacky test ([a3818db](https://github.com/event4u-app/agent-config/commit/a3818db0977034de6f6b56952756522d772c9138))
|
|
131
|
+
* **wizard:** restore completed prop on StepNav ([47973e0](https://github.com/event4u-app/agent-config/commit/47973e033d6661c4b431cfe0f6d74eb2be8b98cc))
|
|
132
|
+
* **server:** create settings/ dir before atomic write ([041feb6](https://github.com/event4u-app/agent-config/commit/041feb614982bfaa123277d5f9e341405d3abbf6))
|
|
133
|
+
* **install:** respect DRY_RUN for mkdir paths ([adf670a](https://github.com/event4u-app/agent-config/commit/adf670a778426eb4fd1046d736652c9c1386b015))
|
|
134
|
+
* **wizard:** suppress empty role chip in UserMdForm ([5fe6449](https://github.com/event4u-app/agent-config/commit/5fe6449b9ba96feed06503e2185cb010838d2f70))
|
|
135
|
+
* **lint:** skip router_routes_to_missing for trust.level: core rules ([e2286c9](https://github.com/event4u-app/agent-config/commit/e2286c9d5841bc62c9510f82525efab8bd45f4b8))
|
|
136
|
+
* **ci:** extend discovery-manifest schema with Phase 5 pack fields ([42eaa9a](https://github.com/event4u-app/agent-config/commit/42eaa9af2f4100afad8bfd6a598f3c3f611328d2))
|
|
137
|
+
* **ci:** trim AGENTS.md back under Thin-Root 3000-char hard cap ([a365c15](https://github.com/event4u-app/agent-config/commit/a365c152f6bfbcbd7c4833f3ca68e16f97308ece))
|
|
138
|
+
* **ci:** resync engineering-safety-floor compressed mirror ([f5c4c76](https://github.com/event4u-app/agent-config/commit/f5c4c7669036a1e134c20543f0601473924c61ea))
|
|
139
|
+
* **ci:** register install-via-agent skill in marketplace.json ([c5702ca](https://github.com/event4u-app/agent-config/commit/c5702ca80e913567a2b538dfd5c02248b678dd8d))
|
|
140
|
+
* **ci:** correct install-via-agent schema and broken roadmap refs ([badd132](https://github.com/event4u-app/agent-config/commit/badd1327bc509eb36e8eaf68187eabe53b5c2658))
|
|
141
|
+
* **discovery:** mark single-member pack skills as experimental ([2cdf578](https://github.com/event4u-app/agent-config/commit/2cdf578f2fc05b01dbef674c97178f616b1c46ee))
|
|
142
|
+
* **ci:** accept nested paths in overlay cascade checker ([373a1fc](https://github.com/event4u-app/agent-config/commit/373a1fca308d631438b838da71dbfc18bcc228ee))
|
|
143
|
+
|
|
144
|
+
### Performance
|
|
145
|
+
|
|
146
|
+
* **ci:** consolidate tests.yml node jobs ([5f11044](https://github.com/event4u-app/agent-config/commit/5f11044a93fa618aa6728f8240f61f8224a8794e))
|
|
147
|
+
* **ci:** apply dependency caching and concurrency groups ([64fb469](https://github.com/event4u-app/agent-config/commit/64fb4692b58caab696250e95bc8c1cda89c5a16d))
|
|
148
|
+
|
|
149
|
+
### Documentation
|
|
150
|
+
|
|
151
|
+
* **telemetry:** add privacy + schema docs ([069fb73](https://github.com/event4u-app/agent-config/commit/069fb73ae6288cd6a44e3b6c150d146a66a6669b))
|
|
152
|
+
* **drift:** inventory architectural drift + park conditions for F-2/F-3 ([5c29006](https://github.com/event4u-app/agent-config/commit/5c2900638c54b1e709e655d7a8711fe3b6951276))
|
|
153
|
+
* **discovery:** drop phantom marketing-site consumer reference (drift F-5) ([aa90306](https://github.com/event4u-app/agent-config/commit/aa90306cee16ee469dde608329ebdd41e662116d))
|
|
154
|
+
* **adr-017:** remove unmaintained split-distribution addendum (drift F-1) ([a375664](https://github.com/event4u-app/agent-config/commit/a375664d2804b5ad2d8f8f75229d89e05c909da6))
|
|
155
|
+
* **deploy:** add ADR-021 and deployment guides ([4936927](https://github.com/event4u-app/agent-config/commit/49369276c622aceaebc435957ec6f58767538860))
|
|
156
|
+
* **roadmap:** mark Phase 1 done, Phase 2 partial, Phases 3-5 deferred ([6497aa0](https://github.com/event4u-app/agent-config/commit/6497aa0654c1238524e515dc7ec4ebabe7bf82e0))
|
|
157
|
+
* **readme:** modernize via readme-writing skill, fix path drift, orange branding ([8f7f164](https://github.com/event4u-app/agent-config/commit/8f7f1647be9e0cdaf00065ff32781c6ead2a8a62))
|
|
158
|
+
* **skills:** harden readme-writing toolchain with re-analysis gate + link validation ([33e2160](https://github.com/event4u-app/agent-config/commit/33e216019c04ac987c13857154cfadeaa427c7ec))
|
|
159
|
+
* **roadmap:** mark road-to-ai-os-product-ui phase 2 + phase 5 complete ([3cae434](https://github.com/event4u-app/agent-config/commit/3cae43470c4213c8c4cddf0b6a17cc89f5e9a7ee))
|
|
160
|
+
* **roadmap:** mark road-to-ai-os-product-ui phases 1/4/5 shipped, 2/3 blocked ([de7855d](https://github.com/event4u-app/agent-config/commit/de7855dcf4f719c6507d4f8c4e8b542aac8fa628))
|
|
161
|
+
* **gui-wizard:** document the unified 9-step flow + recovery path ([61c86f8](https://github.com/event4u-app/agent-config/commit/61c86f8cb07f6ca53b53805adbaf28fa7b3eff66))
|
|
162
|
+
* **global-only:** ADR-020 accepted + global-only consumer scope (Phase 6) ([9403143](https://github.com/event4u-app/agent-config/commit/9403143dba5cf3393d67f0304d0a62e4078264a9))
|
|
163
|
+
* **decisions:** ADR-020 + maintainer dev-mode guide ([e78a992](https://github.com/event4u-app/agent-config/commit/e78a992ef730bf2b7a585fd6a25fc88d20d3b310))
|
|
164
|
+
* **roles:** role-based walkthroughs with wizard quickstart + first-win pointers ([9a4b7aa](https://github.com/event4u-app/agent-config/commit/9a4b7aa61515c3bdb2beae59c21a96df1c428ba4))
|
|
165
|
+
* **readme:** radical rewrite — GUI wizard quickstart + featured-skills tiering ([77fb42e](https://github.com/event4u-app/agent-config/commit/77fb42e7afc230bbb7270e2eac38379c8d2e0831))
|
|
166
|
+
* **roadmaps:** add four strategic roadmaps for the Internal AI OS pivot ([dfa0882](https://github.com/event4u-app/agent-config/commit/dfa088274258c95b0acd5c85ee315925595abbf7))
|
|
167
|
+
* **roadmap:** add road-to-global-only-install plan ([6891965](https://github.com/event4u-app/agent-config/commit/6891965102c6204a29c84260220c536af1f0ae01))
|
|
168
|
+
* **wizard,installation:** document auto-launch + --no-ui + --dry-run ([79cc9ba](https://github.com/event4u-app/agent-config/commit/79cc9baad92c6ee72fa00ec59d035b5cd5d8b522))
|
|
169
|
+
* **gui:** contract + README quick-start + roadmap progress (P6.6/P6.7) ([fa7c230](https://github.com/event4u-app/agent-config/commit/fa7c230e7beab6c9fbe52b9be3b63d227d777302))
|
|
170
|
+
* **adr-017:** add optional split-distribution addendum + close Phase 4 ([d06af2c](https://github.com/event4u-app/agent-config/commit/d06af2c5748bad3c41e8df8e5b412302a34547e0))
|
|
171
|
+
* **trust-safety:** add ADR-018 + trust-and-safety contract ([6d32a86](https://github.com/event4u-app/agent-config/commit/6d32a866755388da0432d4bf09818ff97aab4f42))
|
|
172
|
+
* **agents:** trim AGENTS.md to stay under 95% Augment budget ([3df2b1e](https://github.com/event4u-app/agent-config/commit/3df2b1ee33954057cdbd0a4c4e5e765adc204d95))
|
|
173
|
+
* **roadmap:** mark phase 4.3 / 4.4 / 4.5 complete ([c75d5e7](https://github.com/event4u-app/agent-config/commit/c75d5e76f3b5c1411833ece9b90d91f729d8f2f5))
|
|
174
|
+
* **monorepo:** update AGENTS.md + onboarding skill for packages layout ([2028ff6](https://github.com/event4u-app/agent-config/commit/2028ff6baf9bd23d623642a2667402b207babc6f))
|
|
175
|
+
* **roadmap:** mark Phase 4.1 + 4.2 done (planning + tooling) ([fcced8e](https://github.com/event4u-app/agent-config/commit/fcced8e726774e6b4f56c0ff56359cdb719c3ca7))
|
|
176
|
+
* **adr:** add ADR-017 monorepo physical package layout ([60a8637](https://github.com/event4u-app/agent-config/commit/60a8637205300562b12683aa16f9b0814ae86632))
|
|
177
|
+
* finalize Phase 6 distribution — README deprecation notice + archive roadmap ([a87f891](https://github.com/event4u-app/agent-config/commit/a87f891eb41afaaeb6df5b76045a00ea2a33529a))
|
|
178
|
+
* **adr:** ADR-016 + agent-mode protocol for TypeScript installer ([324ac99](https://github.com/event4u-app/agent-config/commit/324ac99bfc91062dd96b5ed759a67fd2c7b0b71f))
|
|
179
|
+
* **agents:** revert AGENTS.md addition to stay within augment budget ([d6c6174](https://github.com/event4u-app/agent-config/commit/d6c617452bc7bf32e6a2fc9f0831a2ed37a418b9))
|
|
180
|
+
* **contracts:** declare beta stability for frontmatter-contract ([e0928ff](https://github.com/event4u-app/agent-config/commit/e0928ffaf32c0bef3db62c2dd6825846235cb06e))
|
|
181
|
+
* **discovery:** frontmatter contract + ADR-013 update ([f428420](https://github.com/event4u-app/agent-config/commit/f428420906dbc9ff28b88c8658f1428eecfa4a8a))
|
|
182
|
+
* **roadmaps:** scaffold six-phase monorepo migration ([293c8af](https://github.com/event4u-app/agent-config/commit/293c8af610c4e9cce6892cee3715fbd49fb4fb1a))
|
|
183
|
+
|
|
184
|
+
### Refactoring
|
|
185
|
+
|
|
186
|
+
* **rules:** offload no-cheap-questions prose to cheap-question-mechanics context ([b51a9ae](https://github.com/event4u-app/agent-config/commit/b51a9aec63faa0232b8e5934a421e7a0abb06b8b))
|
|
187
|
+
* **router:** move router.json from repo root to dist/router.json ([5567b3c](https://github.com/event4u-app/agent-config/commit/5567b3ce39655b0831d7cb0088e6cf7ba599846b))
|
|
188
|
+
* **scripts:** finalize multi-root path resolution across helpers ([5173fb7](https://github.com/event4u-app/agent-config/commit/5173fb7730ef73d76d5c1fc7b9f3c1915b6dbe8d))
|
|
189
|
+
* **scripts:** make command-tier linter monorepo-aware ([3eb15b6](https://github.com/event4u-app/agent-config/commit/3eb15b6982413a9898853733d1d1910116b91c28))
|
|
190
|
+
* **scripts:** make rule-tier linter monorepo-aware ([dc9b9b3](https://github.com/event4u-app/agent-config/commit/dc9b9b3ad881a62624f83bec5a1b56b2e8420e3e))
|
|
191
|
+
* **scripts:** make bench-corpus linter monorepo-aware ([01814a2](https://github.com/event4u-app/agent-config/commit/01814a26d41965865e76cf5f617e6790ff4f0059))
|
|
192
|
+
* **scripts:** make archived-skills linter monorepo-aware ([ade1b8e](https://github.com/event4u-app/agent-config/commit/ade1b8ecf3f96582ece3da33cc7ce98c8ad0a53a))
|
|
193
|
+
* **scripts:** make frontmatter validator multi-root aware ([f6d09e9](https://github.com/event4u-app/agent-config/commit/f6d09e9a2b76edba5ff5a9efc0ec78e309a476fe))
|
|
194
|
+
* **scripts:** make reply-consistency scanner multi-root aware ([c1b0342](https://github.com/event4u-app/agent-config/commit/c1b03424629862aab2318799686630f3db379d2a))
|
|
195
|
+
* **scripts:** make ownership-matrix generator multi-root aware ([e431b48](https://github.com/event4u-app/agent-config/commit/e431b484d4bbc2391e039d57ade8372bbf08939f))
|
|
196
|
+
* **scripts:** make council-references checker multi-root aware ([7d7a21e](https://github.com/event4u-app/agent-config/commit/7d7a21e7234191ce194509e60f7504c47ba147fa))
|
|
197
|
+
* **scripts:** make rule-interactions linter multi-root aware ([9e0a2c5](https://github.com/event4u-app/agent-config/commit/9e0a2c53aada39fc296bd367de5112f08368f41a))
|
|
198
|
+
* **scripts:** make cluster-pattern checker multi-root aware ([b2edad6](https://github.com/event4u-app/agent-config/commit/b2edad627c7298a6375bf8f7697c7970c2f7f3a6))
|
|
199
|
+
* **scripts:** make framework-leakage linter multi-root aware ([3a6f6c8](https://github.com/event4u-app/agent-config/commit/3a6f6c88b2b0337851691c88b4c24e5cda35a1ad))
|
|
200
|
+
* **scripts:** make smoke-quickstart multi-root aware ([5105965](https://github.com/event4u-app/agent-config/commit/5105965fbb3f31d8812cbe2b6ffb9a01b31549fc))
|
|
201
|
+
* **scripts:** make decision-engine validator multi-root aware ([38d1265](https://github.com/event4u-app/agent-config/commit/38d1265e0d2f89f9132d5bfdc0420a27a4b238b0))
|
|
202
|
+
* **scripts:** make token-optimizer freshness gate multi-root aware ([88e9ae5](https://github.com/event4u-app/agent-config/commit/88e9ae5cb5e73063387e2714f33a259121bb463d))
|
|
203
|
+
* **scripts:** make template-pin-drift gate multi-root aware ([ec6090a](https://github.com/event4u-app/agent-config/commit/ec6090a5625bb9ab2d7318635e0fa1269895dd63))
|
|
204
|
+
* **scripts:** make generate_index.py multi-root aware ([ef0e690](https://github.com/event4u-app/agent-config/commit/ef0e690d8c906102ea08b584fea74a53c985f67d))
|
|
205
|
+
* **scripts:** make router/linter/budget/smokes multi-root aware ([53ec5bf](https://github.com/event4u-app/agent-config/commit/53ec5bf7312e695cae83e298141b9ce06518d72e))
|
|
206
|
+
* **scripts:** make command-count gate multi-root aware ([bee1f28](https://github.com/event4u-app/agent-config/commit/bee1f284a22b5e6872d9bb4736c611f639f25eaa))
|
|
207
|
+
* **scripts:** map unassigned overrides + stale-hash check to physical paths ([27d881f](https://github.com/event4u-app/agent-config/commit/27d881ffc814295c607376e322c339733c8e7b7b))
|
|
208
|
+
* **scripts:** multi-root awareness for compress + counts + discovery ([9ebaf5f](https://github.com/event4u-app/agent-config/commit/9ebaf5f6ed2597537f47143500d32bce3bb063a8))
|
|
209
|
+
|
|
210
|
+
### Tests
|
|
211
|
+
|
|
212
|
+
* **installer-gui:** cover GET /api/v1/explain/last endpoint ([0da4423](https://github.com/event4u-app/agent-config/commit/0da442337288d376c382c01f24cc89924490b314))
|
|
213
|
+
* **installer-gui:** cover task + council api endpoints ([8a0837c](https://github.com/event4u-app/agent-config/commit/8a0837c23d977f49023d6de4fed1e9b9e650fd5a))
|
|
214
|
+
* **e2e:** Playwright spec for the unified 9-step wizard dry-run ([6911be8](https://github.com/event4u-app/agent-config/commit/6911be8f6330a498cfc1bd2b68bb1e33353c96e5))
|
|
215
|
+
* align suites with settings/ subdir and identity JSON wire format ([e69c827](https://github.com/event4u-app/agent-config/commit/e69c82747c2b9046697f07372eaed25b590d7336))
|
|
216
|
+
* **wizard:** cover first-run 404 path + add verify-before-complete override ([d03b506](https://github.com/event4u-app/agent-config/commit/d03b506cb085d424f0c9d815f64398aee0203fc7))
|
|
217
|
+
* make test suite monorepo/multi-root aware ([c864dcd](https://github.com/event4u-app/agent-config/commit/c864dcd443483e37fb68e89cbb10e149ae6fa4d6))
|
|
218
|
+
* **discovery:** cover artefact frontmatter linter and round-trip ([4ac95d7](https://github.com/event4u-app/agent-config/commit/4ac95d7b633f47261537d76d733c0fb56095ae31))
|
|
219
|
+
|
|
220
|
+
### CI
|
|
221
|
+
|
|
222
|
+
* **smoke:** force UTF-8 stdout on Windows legs ([f321211](https://github.com/event4u-app/agent-config/commit/f32121146d682d18dda0b7684a19c8f50ab40973))
|
|
223
|
+
* add cross-platform public install smoke matrix ([9041643](https://github.com/event4u-app/agent-config/commit/904164307e6fcd758c01679f3d4eba8e70a4c95b))
|
|
224
|
+
* **migration:** add Phase 4 dry-run workflow + Taskfile bindings ([b6374e6](https://github.com/event4u-app/agent-config/commit/b6374e67eedc9d062856ee6d1c3bf25a367e3b6f))
|
|
225
|
+
* **installer:** wire TypeScript installer into CI pipeline (ADR-016 § 1) ([b139752](https://github.com/event4u-app/agent-config/commit/b139752e7cdc6e672411e38dc315c46f66313f79))
|
|
226
|
+
* **publish-npm:** install jsonschema for discovery manifest lint ([419521e](https://github.com/event4u-app/agent-config/commit/419521e5a1f284af12f2a1458c6dccd6bcf8de83))
|
|
227
|
+
|
|
228
|
+
### Chores
|
|
229
|
+
|
|
230
|
+
* **roadmap:** archive completed roadmaps, regenerate dashboard ([eb77305](https://github.com/event4u-app/agent-config/commit/eb77305ab38222cfcee1239ea722967e09d2d77e))
|
|
231
|
+
* **roadmap:** mark Phase 5 (architectural drift audit) complete ([386ee69](https://github.com/event4u-app/agent-config/commit/386ee69c38260686000aeba166a704eeadd71743))
|
|
232
|
+
* **roadmap:** mark Phase 1 shipped, defer Phases 2-5 ([de84377](https://github.com/event4u-app/agent-config/commit/de84377f1e0b6ba1f07a0b69140483ab9a8dc8f6))
|
|
233
|
+
* update readme ([0249f87](https://github.com/event4u-app/agent-config/commit/0249f87f74150bc3e4010368537e4b22d872bf06))
|
|
234
|
+
* **ownership:** regenerate file-ownership-matrix for context split ([f0b50bb](https://github.com/event4u-app/agent-config/commit/f0b50bb4505361ca6ab953aee6e7ab77136dd77c))
|
|
235
|
+
* **ci:** drop obsolete README prose checks from command-count gate ([8b3e4c9](https://github.com/event4u-app/agent-config/commit/8b3e4c925659fd0074db296c6b1ad53555b313ae))
|
|
236
|
+
* **roadmap:** archive road-to-global-only-install at 100% ([e3b3555](https://github.com/event4u-app/agent-config/commit/e3b355526371b44b82dec515a099643fc9617947))
|
|
237
|
+
* **roadmap:** flip 1.6 / 1.7 / 1.10; defer 1.5 / 1.8 / 1.9; regen dashboard ([6c3c1b4](https://github.com/event4u-app/agent-config/commit/6c3c1b4cf39c7705d7dca47d30b6d2999ef25106))
|
|
238
|
+
* **roadmap:** mark Phases 4–6 complete on road-to-global-only-install ([0d6cc0e](https://github.com/event4u-app/agent-config/commit/0d6cc0e94d8a74f6473991cbdb505a049658d35a))
|
|
239
|
+
* **roadmap:** mark Phase 2.3 + 3.1 + 3.3-3.5 done (12/24) ([3ca72d3](https://github.com/event4u-app/agent-config/commit/3ca72d3957ad2f23614122b4a42d86ef3fdfcc07))
|
|
240
|
+
* **roadmap:** mark Phase 1.1-1.4 + 2.1 + 2.2 (Python) + 3.2 done ([4b7850b](https://github.com/event4u-app/agent-config/commit/4b7850b57d95e27dcdee1b9034906bda6b837336))
|
|
241
|
+
* **roadmap:** mark road-to-global-only-install foundation done (6/24) ([3a9f3bb](https://github.com/event4u-app/agent-config/commit/3a9f3bbecca0a118fd345f5fc9c93005474ea03f))
|
|
242
|
+
* **roadmap:** archive road-to-role-first-onboarding (100% complete) ([9c2bd71](https://github.com/event4u-app/agent-config/commit/9c2bd715f615a295142b00e9dcc16d83e7ae047e))
|
|
243
|
+
* **ci:** add README, featured-skills, and pack first-win linters ([76473c9](https://github.com/event4u-app/agent-config/commit/76473c9fbc3ceb5301948ba183a157cf24a5302e))
|
|
244
|
+
* regenerate ownership matrix ([685d0aa](https://github.com/event4u-app/agent-config/commit/685d0aa96b6a20f848a59342cb65cf5ed42bdd52))
|
|
245
|
+
* finalize ([6f1929c](https://github.com/event4u-app/agent-config/commit/6f1929ccd35de2e7903785144fca90739a6c6361))
|
|
246
|
+
* **index:** regenerate agents/index.md and docs/catalog.md ([d637396](https://github.com/event4u-app/agent-config/commit/d637396ab47ebf8f3c70c298f841f68811852c1c))
|
|
247
|
+
* fix tests ([6a29ad9](https://github.com/event4u-app/agent-config/commit/6a29ad98827792947c24fe0e6a6b9a26246d6180))
|
|
248
|
+
* fix roadmap ([2e3255f](https://github.com/event4u-app/agent-config/commit/2e3255f726e2b3bd1bea0e40cab45926448301d8))
|
|
249
|
+
* ignore agents/state/ wizard runtime snapshot ([d39cf4f](https://github.com/event4u-app/agent-config/commit/d39cf4f316483176af1321c670e8aa0d9d334b53))
|
|
250
|
+
* move .ai-video.xml.example to agents/templates/ ([33661b9](https://github.com/event4u-app/agent-config/commit/33661b9e49559fd0f842de8ff636e5c1b0ff8933))
|
|
251
|
+
* **roadmap:** archive wizard-install-py-wiring (shipped 2026-05-22) ([04935dd](https://github.com/event4u-app/agent-config/commit/04935dd2b5833fb53afbe922015cac779feed8bb))
|
|
252
|
+
* **roadmap:** archive implementation-sequence.md (phases 1-6 complete) ([46ad4b1](https://github.com/event4u-app/agent-config/commit/46ad4b18a4fc7a855bb87aff6a71c03d266be6af))
|
|
253
|
+
* **roadmap:** sync Phase 6 checkboxes + regen dashboard (30/35 done) ([69bc787](https://github.com/event4u-app/agent-config/commit/69bc787d516f7b45fc247c3b29f80f283946301e))
|
|
254
|
+
* **roadmap:** mark monorepo-phase-5 complete ([41a68e9](https://github.com/event4u-app/agent-config/commit/41a68e9bb88ad052257bf53048c678e4dc88ec02))
|
|
255
|
+
* **sync:** regenerate .agent-src/ orchestration.py template ([84d21c4](https://github.com/event4u-app/agent-config/commit/84d21c49d15036db5639557a38c649289d3bb6a6))
|
|
256
|
+
* **contracts:** regenerate mcp-tool-inventory.md line refs ([6726203](https://github.com/event4u-app/agent-config/commit/67262039c82003c7a03f5ba6b3d9d1eafa070d7b))
|
|
257
|
+
* **migration:** physical move of ~700 artefacts to packages/ layout ([9f62fd2](https://github.com/event4u-app/agent-config/commit/9f62fd2e9ca8fd3b0126a35a7a040ce366bfd710))
|
|
258
|
+
* **claude:** commit projected install-via-agent skill ([84676d4](https://github.com/event4u-app/agent-config/commit/84676d4726e342a6087a11b2665eb252bafd222c))
|
|
259
|
+
* **counts:** bump command count to 129 (install-via-agent landed) ([6593f1c](https://github.com/event4u-app/agent-config/commit/6593f1c6c23ad926a00e782fa4f0d0e0691adbc8))
|
|
260
|
+
* **roadmap:** mark monorepo-phase-3 steps done and refresh dashboard ([c3d9054](https://github.com/event4u-app/agent-config/commit/c3d9054efd9d3d95bbd3621e24e4e88a7310ea81))
|
|
261
|
+
* **sync:** project install-via-agent command and refresh counts ([b80cff4](https://github.com/event4u-app/agent-config/commit/b80cff4f7067f78c2735efd0e274b2dd6af678ca))
|
|
262
|
+
* **deps:** add @inquirer/prompts for installer TUI ([2dad093](https://github.com/event4u-app/agent-config/commit/2dad0934693f95a9bdaad381805e56e8621eefc8))
|
|
263
|
+
* **roadmap:** archive monorepo-phase-2 and regenerate dashboard ([649200e](https://github.com/event4u-app/agent-config/commit/649200ea60b03f52043da141b6a52388711b3a34))
|
|
264
|
+
* **discovery:** fix beta-review window to 90-day max (2026-08-19) ([b1c6d77](https://github.com/event4u-app/agent-config/commit/b1c6d77f84907e16900a88647998167ed182e238))
|
|
265
|
+
* **templates:** bump agent_config_version pin to 3.0.0 ([f96a2dd](https://github.com/event4u-app/agent-config/commit/f96a2dd56bacea17d933f8e9052d49fa0322fadb))
|
|
266
|
+
* **roadmaps:** archive Phase 1, silence Phase 3 forward refs ([a732b9c](https://github.com/event4u-app/agent-config/commit/a732b9c427fa6c0d0691cc00071d58854639f9d5))
|
|
267
|
+
|
|
268
|
+
Tests: 4839 (+142 since 3.0.0)
|
package/docs/benchmarks.md
CHANGED
|
@@ -18,13 +18,13 @@ discipline (upstream `5b71c7a`).
|
|
|
18
18
|
| Corpus | Path | Purpose |
|
|
19
19
|
|---|---|---|
|
|
20
20
|
| `dev` | `tests/eval/corpus-dev.yaml` | router / engine selection |
|
|
21
|
-
| `caveman` | `bench/corpora/caveman/prompts.yaml` | compression dialect (`vs_raw` + `vs_terse`) |
|
|
21
|
+
| `caveman` | `internal/bench/corpora/caveman/prompts.yaml` | compression dialect (`vs_raw` + `vs_terse`) |
|
|
22
22
|
|
|
23
23
|
## Reports — naming and trail
|
|
24
24
|
|
|
25
|
-
- **Canonical pointer:** `bench/reports/<corpus>-v<N>.{json,md}` — always
|
|
25
|
+
- **Canonical pointer:** `internal/bench/reports/<corpus>-v<N>.{json,md}` — always
|
|
26
26
|
reflects the latest published run for that corpus version.
|
|
27
|
-
- **Timestamped trail:** `bench/reports/<ISO-Zulu>-<corpus>-v<N>.{json,md}`
|
|
27
|
+
- **Timestamped trail:** `internal/bench/reports/<ISO-Zulu>-<corpus>-v<N>.{json,md}`
|
|
28
28
|
— every committed run keeps an immutable history copy alongside.
|
|
29
29
|
|
|
30
30
|
Both are produced in one `scripts/bench_run.py` invocation; do not commit
|
|
@@ -37,7 +37,7 @@ one without the other.
|
|
|
37
37
|
| Pre-release bake (any `vX.Y.0`) | `dev` + `caveman` | both reports refreshed |
|
|
38
38
|
| Edit to `.agent-src.uncompressed/rules/caveman-speak.md` | `caveman` | report refreshed in same PR |
|
|
39
39
|
| Edit to `scripts/bench_run.py` `--caveman` arm | `caveman` | report refreshed in same PR |
|
|
40
|
-
| Edit to `bench/corpora/caveman/prompts.yaml` | `caveman` | report refreshed, version bumped (`caveman-vN+1`) |
|
|
40
|
+
| Edit to `internal/bench/corpora/caveman/prompts.yaml` | `caveman` | report refreshed, version bumped (`caveman-vN+1`) |
|
|
41
41
|
| Edit to `scripts/_lib/bench_caveman*.py` | `caveman` | report refreshed in same PR |
|
|
42
42
|
|
|
43
43
|
A PR that touches any of the cadence triggers without refreshing the
|
package/docs/catalog.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# agent-config — Public Catalog
|
|
2
2
|
|
|
3
|
-
Consumer-facing catalog of all **
|
|
3
|
+
Consumer-facing catalog of all **501 public artefacts** shipped by
|
|
4
4
|
this package. Internal package-maintenance rules and deprecation shims
|
|
5
5
|
are excluded.
|
|
6
6
|
|
|
@@ -309,7 +309,7 @@ are excluded.
|
|
|
309
309
|
| rule | [`user-interrupt-priority`](../.agent-src/rules/user-interrupt-priority.md) | always | User interrupts override the current task — STOP, complete new task in full, then ASK before resuming; never silently return to prior work |
|
|
310
310
|
| rule | [`verify-before-complete`](../.agent-src/rules/verify-before-complete.md) | always | Verify before completion — run tests and quality tools before claiming done |
|
|
311
311
|
|
|
312
|
-
## Commands (
|
|
312
|
+
## Commands (136)
|
|
313
313
|
|
|
314
314
|
| kind | name | cluster | description |
|
|
315
315
|
|---|---|---|---|
|
|
@@ -325,6 +325,9 @@ are excluded.
|
|
|
325
325
|
| command | [`agents:user-review`](../.agent-src/commands/agents/user/review.md) | cluster: agents | List buffered observations from .agent-user.observations.jsonl with numbered options to inspect or accept individually. |
|
|
326
326
|
| command | [`agents:user-show`](../.agent-src/commands/agents/user/show.md) | cluster: agents | Read-only render of .agent-user.md — prints the persona summary the host agent loads at session start. |
|
|
327
327
|
| command | [`agents:user-update`](../.agent-src/commands/agents/user/update.md) | cluster: agents | Open .agent-user.md in the user's IDE for manual edit; validates schema and 100-line cap on save. |
|
|
328
|
+
| command | [`analytics`](../.agent-src/commands/analytics.md) | cluster: analytics | Analytics orchestrator — routes to show, prune. Local-only workspace event log under `~/.event4u/agent-config/workspace/analytics/`. |
|
|
329
|
+
| command | [`analytics:prune`](../.agent-src/commands/analytics/prune.md) | cluster: analytics | Drop events older than the 90-day retention window from the local analytics log. Atomic and idempotent. |
|
|
330
|
+
| command | [`analytics:show`](../.agent-src/commands/analytics/show.md) | cluster: analytics | Render top prompts, launcher → completion rate per role, average session length, and knowledge-source usage from the local analytics log. |
|
|
328
331
|
| command | [`analyze-reference-repo`](../.agent-src/commands/analyze-reference-repo.md) | | Analyze an external reference repository (competitor, inspiration, peer) and produce a structured comparison + adoption plan for this project. |
|
|
329
332
|
| command | [`bug-fix`](../.agent-src/commands/bug-fix.md) | | Plan and implement a bug fix — based on investigation, with quality checks and test verification |
|
|
330
333
|
| command | [`bug-investigate`](../.agent-src/commands/bug-investigate.md) | | Investigate a bug — auto-detect ticket from branch, gather Jira/Sentry/description context, trace root cause |
|
|
@@ -383,6 +386,10 @@ are excluded.
|
|
|
383
386
|
| command | [`judge:on-diff`](../.agent-src/commands/judge/on-diff.md) | cluster: judge | Run a single change through an implementer→judge loop with a two-revision ceiling, then hand back to the user |
|
|
384
387
|
| command | [`judge:solo`](../.agent-src/commands/judge/solo.md) | cluster: judge | Run a standalone judge on an existing diff or code change — no implementer, no revision loop, verdict only |
|
|
385
388
|
| command | [`judge:steps`](../.agent-src/commands/judge/steps.md) | cluster: judge | Execute an ordered plan step by step with a judge gate between steps — stops on first failed verdict |
|
|
389
|
+
| command | [`knowledge`](../.agent-src/commands/knowledge.md) | cluster: knowledge | Knowledge orchestrator — routes to ingest, list, forget. Local-only file ingestion into the agent memory namespace. |
|
|
390
|
+
| command | [`knowledge:forget`](../.agent-src/commands/knowledge/forget.md) | cluster: knowledge | Drop a knowledge ingest from `agents/memory/knowledge/` by id prefix. Atomic, no partial state. Pinning protects from LRU eviction, not from explicit forget — pinned ingests are dropped the same. |
|
|
391
|
+
| command | [`knowledge:ingest`](../.agent-src/commands/knowledge/ingest.md) | cluster: knowledge | Walk a local path (folder, .zip, single file), redact PII + secrets, chunk to 2 KB markdown, and persist into the agent memory namespace under `knowledge/<ingest-id>/`. |
|
|
392
|
+
| command | [`knowledge:list`](../.agent-src/commands/knowledge/list.md) | cluster: knowledge | List existing knowledge ingests in `agents/memory/knowledge/` (table or JSON); pin / unpin by id prefix to control LRU eviction. |
|
|
386
393
|
| command | [`memory`](../.agent-src/commands/memory.md) | cluster: memory | Memory orchestrator — routes to add, load, mine-session, promote, propose |
|
|
387
394
|
| command | [`memory:add`](../.agent-src/commands/memory/add.md) | cluster: memory | Interactively add a validated entry to an engineering-memory file (domain-invariants, architecture-decisions, incident-learnings, product-rules) |
|
|
388
395
|
| command | [`memory:learn-low-impact`](../.agent-src/commands/memory/learn-low-impact.md) | cluster: memory | Preview validated low-impact entries that would be upstreamed to the package seed (default `--preview`); `--apply` opens a draft PR via `upstream-contribute` after re-redaction. |
|
|
@@ -52,7 +52,7 @@ Tests: NNNN (+M since X.Y.(Z-1))
|
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
The test-count line is enforced for any release that ships changes to
|
|
55
|
-
`scripts/`, `workers/`, or `.agent-src/` content; it can be omitted for
|
|
55
|
+
`scripts/`, `internal/workers/`, or `.agent-src/` content; it can be omitted for
|
|
56
56
|
pure-docs releases.
|
|
57
57
|
|
|
58
58
|
## What counts as breaking
|
|
@@ -108,6 +108,25 @@ header) exceeds **250 lines**. When that happens:
|
|
|
108
108
|
Each era split lands as its own `chore(changelog): split era X.Y.x →
|
|
109
109
|
pre-X.Y.x` commit — never bundled with a feature release.
|
|
110
110
|
|
|
111
|
+
### Gate-vs-script contract
|
|
112
|
+
|
|
113
|
+
- **Canonical splitter** — `scripts/release.py`. When a release crosses
|
|
114
|
+
a minor/major boundary and the current era body is at or over the
|
|
115
|
+
250-line cap, the release pipeline writes the
|
|
116
|
+
`chore(changelog): split era …` commit **first**, then the
|
|
117
|
+
`release: X.Y.Z` commit. The maintainer does not run the split by
|
|
118
|
+
hand for the release path.
|
|
119
|
+
- **Backstop** — `tests/test_changelog_eras.py::test_current_era_body_under_cap`
|
|
120
|
+
catches entries written **outside** the release script (hand-edited
|
|
121
|
+
Unreleased section, agent-authored hotfix entries, doc patches). The
|
|
122
|
+
failure message names `task release` as the auto-split path.
|
|
123
|
+
- **Shared cap constant** — `scripts/_lib/changelog_eras.py` owns
|
|
124
|
+
`CURRENT_ERA_BODY_CAP` and the era-header regex. Both the test and
|
|
125
|
+
the release script import from there; no parallel copies.
|
|
126
|
+
- **Patch-release overflow** — a `patch` bump cannot cross an era
|
|
127
|
+
boundary by definition, so the release script refuses to auto-split
|
|
128
|
+
on a patch and surfaces the manual-intervention message instead.
|
|
129
|
+
|
|
111
130
|
## Cross-references
|
|
112
131
|
|
|
113
132
|
- [`../../CHANGELOG.md`](../../CHANGELOG.md) — active era + Unreleased.
|
|
@@ -17,7 +17,7 @@ per [`scripts/mcp_server/requirements.txt`](../../scripts/mcp_server/requirement
|
|
|
17
17
|
**FastMCP** (the higher-level decorator wrapper) and the **MCP TypeScript SDK**
|
|
18
18
|
are explicitly rejected for this surface.
|
|
19
19
|
|
|
20
|
-
The hosted Cloudflare Worker bridge (`workers/mcp/`) is the only place a
|
|
20
|
+
The hosted Cloudflare Worker bridge (`internal/workers/mcp/`) is the only place a
|
|
21
21
|
non-Python runtime is allowed, and it stays bound to the same wire contract
|
|
22
22
|
(see [`mcp-cloud-scope.md`](mcp-cloud-scope.md)).
|
|
23
23
|
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# At-Rest Encryption Contract
|
|
2
|
+
|
|
3
|
+
> **Status** · v0 / design · 2026-05-24. Phase 8 of the
|
|
4
|
+
> employee-product workstream.
|
|
5
|
+
> Single-user, single-machine encryption for the three workspace
|
|
6
|
+
> stores added in Phases 4 / 5 / 7. Does **not** touch the existing
|
|
7
|
+
> `agents/memory/` store — that gets a separate decision.
|
|
8
|
+
|
|
9
|
+
## Threat model
|
|
10
|
+
|
|
11
|
+
The stores written under `~/.event4u/agent-config/workspace/` will
|
|
12
|
+
hold actual customer data once recruit-session participants adopt
|
|
13
|
+
the workspace: offer drafts naming customer X, mail drafts with
|
|
14
|
+
contact email + phone, memos referencing internal pricing. Three
|
|
15
|
+
threats this contract addresses:
|
|
16
|
+
|
|
17
|
+
| Threat | Surface | Defence |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| **Lost / stolen laptop** | FDE may not be enabled or may be unlocked | Per-user key wrapped by OS keyring; cipher blob useless without the keyring entry. |
|
|
20
|
+
| **Shared workstation** | Another OS user reads `~/.event4u/...` | POSIX 0600 + keyring entry scoped to the user account. |
|
|
21
|
+
| **Accidental `git add ~/.event4u/...`** | User commits the store from a misconfigured shell | Encrypted blob is opaque; secrets do not leak as plaintext into the diff. Pre-commit hook detects the path; encryption is defence-in-depth. |
|
|
22
|
+
|
|
23
|
+
Explicit non-goals:
|
|
24
|
+
|
|
25
|
+
- **Not** protection against a compromised OS user account.
|
|
26
|
+
- **Not** protection against a malicious admin / root.
|
|
27
|
+
- **Not** protection against memory dumps while the workspace is
|
|
28
|
+
running.
|
|
29
|
+
- **Not** a substitute for full-disk encryption — the contract
|
|
30
|
+
explicitly recommends FDE in `docs/guides/at-rest-encryption.md`.
|
|
31
|
+
|
|
32
|
+
## Cipher choice
|
|
33
|
+
|
|
34
|
+
**AES-256-GCM** for the data blob. Single per-user master key,
|
|
35
|
+
32 random bytes, generated on first workspace launch.
|
|
36
|
+
|
|
37
|
+
The master key is stored in the OS keyring:
|
|
38
|
+
|
|
39
|
+
| OS | Library | Backend |
|
|
40
|
+
|---|---|---|
|
|
41
|
+
| macOS | `keyring` (Python) / `keytar` (Node) | Keychain |
|
|
42
|
+
| Linux | `keyring` / `keytar` | Secret Service / libsecret (gnome-keyring, KWallet) |
|
|
43
|
+
| Windows | `keyring` / `keytar` | Credential Manager |
|
|
44
|
+
|
|
45
|
+
Service name: `event4u-agent-config-workspace`. Account name:
|
|
46
|
+
`<os-user>`. The keyring entry is the **only** persistent copy of
|
|
47
|
+
the master key on the machine — never written to disk in plaintext,
|
|
48
|
+
never logged.
|
|
49
|
+
|
|
50
|
+
## Scope
|
|
51
|
+
|
|
52
|
+
Encrypts (Phase 8 v0):
|
|
53
|
+
|
|
54
|
+
| Path | Phase | Sensitivity |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| `workspace/sessions/**/*.jsonl` | 4 | host replies may contain customer data |
|
|
57
|
+
| `workspace/documents/**/*.md` | 5 | offer / mail / memo / brief bodies |
|
|
58
|
+
| `workspace/documents/**/*.history.jsonl` | 5 | edit metadata + SHAs |
|
|
59
|
+
| `workspace/inbox/**/*.md` | 4 | rendered prompts for Tier-3 hand-off may contain customer names |
|
|
60
|
+
| `workspace/analytics/events.jsonl` | 7 | event counters; lower sensitivity but uniform treatment |
|
|
61
|
+
|
|
62
|
+
Does **not** encrypt (v0):
|
|
63
|
+
|
|
64
|
+
- `agents/memory/` — under the maintainer's repo, separate decision.
|
|
65
|
+
- `.agent-settings.yml` — config, no customer data.
|
|
66
|
+
- `package.json` / lockfiles / source — public surface.
|
|
67
|
+
|
|
68
|
+
## Storage layout (encrypted)
|
|
69
|
+
|
|
70
|
+
Each plaintext file is replaced by a sibling cipher file:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
workspace/documents/offer/kundeX-angebot-2026-05-24.md
|
|
74
|
+
→ workspace/documents/offer/kundeX-angebot-2026-05-24.md.enc
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
`.enc` envelope:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
| 4 bytes | magic: "AC1\0"
|
|
81
|
+
| 1 byte | version: 0x01
|
|
82
|
+
| 12 bytes | GCM nonce
|
|
83
|
+
| 16 bytes | GCM auth tag
|
|
84
|
+
| N bytes | ciphertext
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Filename itself is **not** encrypted in v0 (filename leakage is an
|
|
88
|
+
accepted trade-off — slugs are kebab-case derived from titles and
|
|
89
|
+
may contain customer names; mitigation: title slug allowlist
|
|
90
|
+
documented in `workspace-documents.md`).
|
|
91
|
+
|
|
92
|
+
## Feature flag + migration
|
|
93
|
+
|
|
94
|
+
Single setting in `.agent-settings.yml`:
|
|
95
|
+
|
|
96
|
+
```yaml
|
|
97
|
+
workspace:
|
|
98
|
+
encrypt_at_rest: true # default from v1.0
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Migration on first launch after upgrade:
|
|
102
|
+
|
|
103
|
+
1. Detect any plaintext files under the encrypted scope.
|
|
104
|
+
2. Show one-time modal: "Encrypt your local workspace store?"
|
|
105
|
+
with options [Encrypt now] / [Keep plaintext (not recommended)].
|
|
106
|
+
3. On "Encrypt now": iterate, encrypt-in-place atomically (write
|
|
107
|
+
`.enc.tmp`, fsync, rename, delete plaintext). Roll back on any
|
|
108
|
+
error.
|
|
109
|
+
4. On "Keep plaintext": flip `encrypt_at_rest: false`. Next
|
|
110
|
+
workspace launch re-asks unless the user sets
|
|
111
|
+
`workspace.encrypt_at_rest_dismissed: true`.
|
|
112
|
+
|
|
113
|
+
## Recovery path
|
|
114
|
+
|
|
115
|
+
The master key lives in the OS keyring. Recovery scenarios:
|
|
116
|
+
|
|
117
|
+
- **Re-install OS / move to a new machine**: workspace prompts on
|
|
118
|
+
first launch to either restore an exported key file (`.event4u-recovery.key`)
|
|
119
|
+
or treat the encrypted store as inaccessible.
|
|
120
|
+
- **Lost master key, no export**: workspace surfaces a destructive
|
|
121
|
+
banner: "encrypted store is unrecoverable; delete and start
|
|
122
|
+
fresh?" — explicit user click required.
|
|
123
|
+
- **Key export**: `npx @event4u/agent-config workspace:export-key`
|
|
124
|
+
prompts the user to pick a target file. The export is the raw
|
|
125
|
+
32-byte key in a labelled wrapper; the user is responsible for
|
|
126
|
+
storing it safely (password manager, hardware token, paper
|
|
127
|
+
backup).
|
|
128
|
+
|
|
129
|
+
## Coverage (Phase 8 Step 4)
|
|
130
|
+
|
|
131
|
+
- Round-trip: encrypt → decrypt produces identical bytes for ≥ 5
|
|
132
|
+
fixture documents.
|
|
133
|
+
- Wrong key → GCM auth failure → renderer surfaces a clear "wrong
|
|
134
|
+
key" error, not a generic crash.
|
|
135
|
+
- Keyring-missing-entry path (mocked) → migration modal appears.
|
|
136
|
+
- Concurrent writers → second writer waits on the file lock, no
|
|
137
|
+
truncation.
|
|
138
|
+
- Threat-model checklist verified against `threat-modeling` skill.
|
|
139
|
+
|
|
140
|
+
## Cross-references
|
|
141
|
+
|
|
142
|
+
- Phase 4 stores: [`daily-workspace`](daily-workspace.md).
|
|
143
|
+
- Phase 5 stores: [`workspace-documents`](workspace-documents.md).
|
|
144
|
+
- Phase 7 store: [`local-analytics`](local-analytics.md).
|
|
145
|
+
- Guide (deferred to Phase 8 Step 5): `docs/guides/at-rest-encryption.md`.
|
|
146
|
+
- Memory-store decision (deferred): out of scope for v0.
|
|
@@ -13,12 +13,12 @@ and validation invariants.
|
|
|
13
13
|
## Path decision
|
|
14
14
|
|
|
15
15
|
Roadmap `step-4-measurement-and-benchmark.md`
|
|
16
|
-
Phase 1 Step 2 names `bench/corpus.yaml`. The existing benchmark
|
|
16
|
+
Phase 1 Step 2 names `internal/bench/corpus.yaml`. The existing benchmark
|
|
17
17
|
infrastructure (runner + non-dev corpus + `task bench`) lives under
|
|
18
18
|
`tests/eval/` and `scripts/bench_runner.py` hardcodes that directory.
|
|
19
|
-
**Canonical location:** `tests/eval/corpus-<id>.yaml`. The `bench/`
|
|
19
|
+
**Canonical location:** `tests/eval/corpus-<id>.yaml`. The `internal/bench/`
|
|
20
20
|
directory is reserved for **reports + pricing** (Phase 2 deliverables).
|
|
21
|
-
Migration to `bench/corpus.yaml` is a no-op rename if downstream Phase
|
|
21
|
+
Migration to `internal/bench/corpus.yaml` is a no-op rename if downstream Phase
|
|
22
22
|
2 work proves the consolidation is worth the diff cost.
|
|
23
23
|
|
|
24
24
|
## Composition (25 prompts)
|
|
@@ -7,12 +7,12 @@ keep-beta-until: 2026-08-14
|
|
|
7
7
|
|
|
8
8
|
Parser-visible contract for the JSON + Markdown reports emitted by
|
|
9
9
|
[`scripts/bench_run.py`](../../scripts/bench_run.py). Every `task bench`
|
|
10
|
-
run writes one `bench/reports/<ts>-<corpus_id>.json` + matching `.md`.
|
|
10
|
+
run writes one `internal/bench/reports/<ts>-<corpus_id>.json` + matching `.md`.
|
|
11
11
|
|
|
12
12
|
## File layout
|
|
13
13
|
|
|
14
14
|
```
|
|
15
|
-
bench/
|
|
15
|
+
internal/bench/
|
|
16
16
|
├── pricing.yaml # per-1M model rates + sourced_on dates
|
|
17
17
|
└── reports/
|
|
18
18
|
├── 2026-05-16T10-30-00Z-dev.json # machine-readable
|
|
@@ -60,7 +60,7 @@ cost:
|
|
|
60
60
|
per_tier: # haiku / sonnet / opus / unknown
|
|
61
61
|
sonnet: { messages: <int>, cost_usd: <float> }
|
|
62
62
|
...
|
|
63
|
-
pricing_sourced_on: <ISO date from bench/pricing.yaml>
|
|
63
|
+
pricing_sourced_on: <ISO date from internal/bench/pricing.yaml>
|
|
64
64
|
quality:
|
|
65
65
|
source: <path-or-"not_collected">
|
|
66
66
|
prompts_with_assertion: <int>
|
|
@@ -99,7 +99,7 @@ Headers in order:
|
|
|
99
99
|
`quality.source: not_collected` and `verdict.overall: partial`. Score
|
|
100
100
|
stays `0.0`; never inflate by assuming pass.
|
|
101
101
|
- **Pricing dated.** Every cost row reads `sourced_on` from
|
|
102
|
-
`bench/pricing.yaml`. Stale price (> 90 days) → warning line in the
|
|
102
|
+
`internal/bench/pricing.yaml`. Stale price (> 90 days) → warning line in the
|
|
103
103
|
Markdown footer.
|
|
104
104
|
|
|
105
105
|
## Cross-references
|
|
@@ -107,5 +107,5 @@ Headers in order:
|
|
|
107
107
|
- Runner — [`scripts/bench_run.py`](../../scripts/bench_run.py)
|
|
108
108
|
- Baseline collector — [`scripts/bench_runner.py`](../../scripts/bench_runner.py)
|
|
109
109
|
- Corpus contract — [`benchmark-corpus-spec.md`](benchmark-corpus-spec.md)
|
|
110
|
-
- Pricing source — [`bench/pricing.yaml`](../../bench/pricing.yaml)
|
|
110
|
+
- Pricing source — [`internal/bench/pricing.yaml`](../../bench/pricing.yaml)
|
|
111
111
|
- Cost session reader (live sessions) — [`scripts/cost/track.mjs`](../../scripts/cost/track.mjs)
|