@event4u/agent-config 3.3.0 → 4.2.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/README.md +2 -2
- package/.agent-src/commands/agent-handoff.md +31 -2
- package/.agent-src/commands/agent-status.md +5 -5
- package/.agent-src/commands/agents/audit.md +8 -8
- package/.agent-src/commands/agents/init.md +25 -1
- package/.agent-src/commands/agents/optimize.md +3 -3
- package/.agent-src/commands/agents/user.md +1 -1
- package/.agent-src/commands/agents.md +1 -1
- package/.agent-src/commands/analyze-reference-repo.md +1 -1
- package/.agent-src/commands/check-current-md.md +8 -8
- package/.agent-src/commands/{compress.md → condense.md} +55 -55
- package/.agent-src/commands/context/create.md +7 -4
- package/.agent-src/commands/context/refactor.md +3 -1
- package/.agent-src/commands/feature/dev.md +1 -1
- package/.agent-src/commands/feature/explore.md +1 -1
- package/.agent-src/commands/feature/plan.md +10 -8
- package/.agent-src/commands/feature/refactor.md +3 -1
- package/.agent-src/commands/feature/roadmap.md +7 -4
- package/.agent-src/commands/fix/portability.md +3 -3
- package/.agent-src/commands/fix/refs.md +4 -4
- package/.agent-src/commands/ghostwriter.md +2 -2
- package/.agent-src/commands/memory/learn-low-impact.md +3 -3
- package/.agent-src/commands/module/explore.md +34 -8
- package/.agent-src/commands/optimize/agents-dir.md +9 -7
- package/.agent-src/commands/optimize/augmentignore.md +2 -2
- package/.agent-src/commands/optimize/skills.md +9 -9
- package/.agent-src/commands/post-as.md +1 -1
- package/.agent-src/commands/project-analyze.md +2 -2
- package/.agent-src/commands/project-health.md +3 -2
- package/.agent-src/commands/research/deep.md +1 -1
- package/.agent-src/commands/research/report.md +1 -1
- package/.agent-src/commands/research.md +1 -1
- package/.agent-src/commands/roadmap/ai-council.md +1 -1
- package/.agent-src/commands/roadmap/create.md +9 -4
- package/.agent-src/commands/rule-compliance-audit.md +1 -1
- package/.agent-src/commands/upstream-contribute.md +14 -14
- package/.agent-src/commands/video/from-script.md +1 -1
- package/.agent-src/commands/video/scene.md +1 -1
- package/.agent-src/commands/video/stitch.md +1 -1
- package/.agent-src/commands/video/storyboard.md +1 -1
- package/.agent-src/commands/video.md +1 -1
- package/.agent-src/contexts/augment-infrastructure.md +1 -1
- package/.agent-src/contexts/authority/commit-mechanics.md +15 -0
- package/.agent-src/contexts/authority/kernel-rule-edits.md +3 -3
- package/.agent-src/contexts/authority/scope-mechanics.md +1 -1
- package/.agent-src/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md +28 -28
- package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +4 -4
- package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +2 -2
- package/.agent-src/contexts/contracts/artifact-engagement-flow.md +6 -6
- package/.agent-src/contexts/contracts/command-suggestion-flow.md +3 -3
- package/.agent-src/contexts/contracts/emergency-triage-block.md +4 -4
- package/.agent-src/contexts/contracts/frugality-charter.md +3 -3
- package/.agent-src/contexts/documentation-hierarchy.md +14 -7
- package/.agent-src/contexts/execution/autonomy-examples.md +1 -1
- package/.agent-src/contexts/execution/cheap-question-mechanics.md +39 -2
- package/.agent-src/contexts/execution/roadmap-process-loop.md +28 -5
- package/.agent-src/contexts/override-system.md +5 -5
- package/.agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
- package/.agent-src/personas/advisors/first-principles.md +1 -1
- package/.agent-src/personas/hollywood-director.md +1 -1
- package/.agent-src/rules/architecture.md +5 -1
- package/.agent-src/rules/augment-edit-discipline.md +5 -5
- package/.agent-src/rules/augment-source-of-truth.md +15 -15
- package/.agent-src/rules/commit-conventions.md +1 -1
- package/.agent-src/rules/commit-policy.md +10 -0
- package/.agent-src/rules/domain-adoption-policy.md +3 -3
- package/.agent-src/rules/fast-path-marker-visibility.md +3 -3
- package/.agent-src/rules/finance-safety-floor.md +1 -1
- package/.agent-src/rules/framework-neutrality-in-generic-skills.md +8 -8
- package/.agent-src/rules/git-history-discipline.md +1 -1
- package/.agent-src/rules/improve-before-implement.md +2 -2
- package/.agent-src/rules/language-and-tone.md +2 -2
- package/.agent-src/rules/media-governance-routing.md +5 -5
- package/.agent-src/rules/no-attribution-footers.md +1 -0
- package/.agent-src/rules/no-cheap-questions.md +3 -0
- package/.agent-src/rules/no-decorative-emojis-in-git-surfaces.md +111 -0
- package/.agent-src/rules/no-pr-progress-comments.md +118 -0
- package/.agent-src/rules/no-roadmap-references.md +3 -3
- package/.agent-src/rules/non-destructive-by-default.md +1 -1
- package/.agent-src/rules/persona-governance.md +3 -3
- package/.agent-src/rules/preservation-guard.md +15 -15
- package/.agent-src/rules/roadmap-ci-steps-policy.md +7 -3
- package/.agent-src/rules/rule-type-governance.md +1 -1
- package/.agent-src/rules/skill-quality.md +1 -1
- package/.agent-src/rules/{caveman-speak.md → telegraph-speak.md} +15 -15
- package/.agent-src/rules/token-optimizer-maintenance.md +6 -6
- package/.agent-src/skills/agent-docs-writing/SKILL.md +17 -11
- package/.agent-src/skills/agents-md-thin-root/SKILL.md +9 -9
- package/.agent-src/skills/check-refs/SKILL.md +2 -2
- package/.agent-src/skills/code-refactoring/SKILL.md +2 -2
- package/.agent-src/skills/command-writing/SKILL.md +19 -19
- package/.agent-src/skills/comp-banding/SKILL.md +1 -1
- package/.agent-src/skills/condense-memory/SKILL.md +131 -0
- package/.agent-src/skills/context-authoring/SKILL.md +2 -2
- package/.agent-src/skills/context-document/SKILL.md +5 -3
- package/.agent-src/skills/copilot-agents-optimization/SKILL.md +3 -3
- package/.agent-src/skills/description-assist/SKILL.md +2 -2
- package/.agent-src/skills/git-workflow/SKILL.md +1 -1
- package/.agent-src/skills/guideline-writing/SKILL.md +5 -5
- package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +4 -4
- package/.agent-src/skills/lint-skills/SKILL.md +3 -3
- package/.agent-src/skills/md-language-check/SKILL.md +2 -2
- package/.agent-src/skills/module-detect-on-the-fly/SKILL.md +138 -0
- package/.agent-src/skills/module-management/SKILL.md +166 -94
- package/.agent-src/skills/override-management/SKILL.md +1 -1
- package/.agent-src/skills/persona-writing/SKILL.md +5 -5
- package/.agent-src/skills/positioning-strategy/SKILL.md +1 -1
- package/.agent-src/skills/project-docs/SKILL.md +6 -4
- package/.agent-src/skills/readme-reviewer/SKILL.md +2 -2
- package/.agent-src/skills/roadmap-management/SKILL.md +13 -1
- package/.agent-src/skills/roadmap-writing/SKILL.md +4 -2
- package/.agent-src/skills/rule-refactor/SKILL.md +5 -5
- package/.agent-src/skills/rule-writing/SKILL.md +18 -18
- package/.agent-src/skills/script-writing/SKILL.md +1 -1
- package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +6 -6
- package/.agent-src/skills/skill-management/SKILL.md +21 -21
- package/.agent-src/skills/skill-reviewer/SKILL.md +2 -2
- package/.agent-src/skills/skill-writing/SKILL.md +8 -8
- package/.agent-src/skills/skill-writing/evals/triggers.json +1 -1
- package/.agent-src/skills/token-optimizer/SKILL.md +4 -4
- package/.agent-src/skills/unit-economics-modeling/SKILL.md +1 -1
- package/.agent-src/skills/upstream-contribute/SKILL.md +17 -17
- package/.agent-src/templates/AGENTS.md +1 -0
- package/.agent-src/templates/agent-settings.md +24 -13
- package/.agent-src/templates/agents/agent-project-settings.example.yml +61 -2
- package/.agent-src/templates/command.md +5 -5
- package/.agent-src/templates/contexts.md +1 -1
- package/.agent-src/templates/copilot-instructions.md +8 -8
- package/.agent-src/templates/features.md +1 -1
- package/.agent-src/templates/hooks/pre-commit-frontmatter +2 -2
- package/.agent-src/templates/hooks/pre-commit-roadmap-progress +3 -3
- package/.agent-src/templates/persona.md +2 -2
- package/.agent-src/templates/roadmaps.md +1 -1
- package/.agent-src/templates/rule.md +13 -13
- package/.agent-src/templates/scripts/memory_lookup.py +1 -1
- package/.agent-src/templates/scripts/memory_status.py +2 -2
- package/.agent-src/templates/scripts/work_engine/_lib/agent_settings.py +195 -1
- package/.agent-src/templates/scripts/work_engine/orchestration.py +1 -1
- package/.agent-src/templates/skill-archive-note.md +5 -5
- package/.agent-src/templates/skill.md +1 -1
- package/.claude-plugin/marketplace.json +4 -4
- package/AGENTS.md +16 -17
- package/CHANGELOG.md +216 -3
- package/CONTRIBUTING.md +31 -12
- package/README.md +21 -12
- package/config/agent-settings.template.yml +22 -2
- package/config/discovery/unassigned-artefacts.yml +24 -24
- package/config/profiles/full.ini +1 -1
- package/dist/cli/agent-config.js +52 -3
- package/dist/cli/agent-config.js.map +1 -1
- package/dist/cli/commands/uiServe.js +9 -0
- package/dist/cli/commands/uiServe.js.map +1 -1
- package/dist/cli/registry.js +2 -1
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +649 -606
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +4 -4
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +439 -437
- package/dist/discovery/trust-report.md +5 -5
- package/dist/discovery/workspaces.json +450 -448
- package/dist/install/atomic.js +92 -0
- package/dist/install/atomic.js.map +1 -0
- package/dist/install/conflict.js +196 -0
- package/dist/install/conflict.js.map +1 -0
- package/dist/install/detect.js +218 -0
- package/dist/install/detect.js.map +1 -0
- package/dist/install/paths.js +82 -0
- package/dist/install/paths.js.map +1 -0
- package/dist/install/plan.js +157 -0
- package/dist/install/plan.js.map +1 -0
- package/dist/install/txlog.js +140 -0
- package/dist/install/txlog.js.map +1 -0
- package/dist/install/types.js +19 -0
- package/dist/install/types.js.map +1 -0
- package/dist/install/wizard-plan.js +184 -0
- package/dist/install/wizard-plan.js.map +1 -0
- package/dist/mcp/registry-manifest.json +4 -4
- package/dist/router.json +67 -19
- package/dist/server/app.js +6 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/routes/install.js +358 -0
- package/dist/server/routes/install.js.map +1 -0
- package/dist/server/routes/wizard.js +468 -32
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/server/routes/workspace.js +396 -0
- package/dist/server/routes/workspace.js.map +1 -0
- package/dist/server/schemas/settings.js +5 -3
- package/dist/server/schemas/settings.js.map +1 -1
- package/dist/ui/assets/index-BDAhhpDV.js +40 -0
- package/dist/ui/assets/index-BDAhhpDV.js.map +1 -0
- package/dist/ui/assets/index-BXZILUxe.css +1 -0
- package/dist/ui/index.html +2 -2
- package/docs/MIGRATION.md +1 -1
- package/docs/adrs/cost/0001-hard-stop-hook.md +1 -1
- package/docs/adrs/router/0001-three-tier-routing.md +4 -4
- package/docs/adrs/schema/0001-json-schema-frontmatter.md +1 -1
- package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +4 -4
- package/docs/adrs/{caveman → telegraph}/0001-default-off-until-bench.md +9 -9
- package/docs/adrs/telegraph/README.md +9 -0
- package/docs/architecture/augment-projection.md +4 -4
- package/docs/architecture/claude-bundle.md +1 -1
- package/docs/architecture/current-onboard-baseline.md +3 -3
- package/docs/architecture/multi-tool-projection.md +10 -10
- package/docs/architecture/source-projection.md +27 -27
- package/docs/architecture.md +19 -15
- package/docs/archive/CHANGELOG-pre-2.11.0.md +2 -2
- package/docs/archive/CHANGELOG-pre-2.15.0.md +3 -3
- package/docs/archive/CHANGELOG-pre-2.16.0.md +1 -1
- package/docs/archive/CHANGELOG-pre-2.2.0.md +70 -70
- package/docs/archive/CHANGELOG-pre-2.20.0.md +2 -2
- package/docs/archive/CHANGELOG-pre-2.25.0.md +15 -15
- package/docs/archive/CHANGELOG-pre-3.0.0.md +4 -4
- package/docs/archive/CHANGELOG-pre-3.1.0.md +2 -2
- package/docs/archive/CHANGELOG-pre-3.2.0.md +3 -3
- package/docs/benchmark.md +65 -0
- package/docs/benchmarks.md +16 -16
- package/docs/catalog.md +17 -15
- package/docs/contracts/CHANGELOG-conventions.md +1 -1
- package/docs/contracts/STABILITY.md +2 -2
- package/docs/contracts/adoption-signal-floor.md +110 -0
- package/docs/contracts/adr-chat-history-split.md +4 -4
- package/docs/contracts/adr-command-suggestion.md +4 -4
- package/docs/contracts/adr-gtm-context-spine.md +1 -1
- package/docs/contracts/adr-implement-ticket-runtime.md +4 -4
- package/docs/contracts/adr-install-user-type-axis.md +1 -1
- package/docs/contracts/adr-layout.md +2 -2
- package/docs/contracts/adr-product-ui-track.md +10 -10
- package/docs/contracts/adr-user-types-axis.md +3 -3
- package/docs/contracts/adr-wing4-context-spine.md +1 -1
- package/docs/contracts/agent-memory-contract.md +3 -3
- package/docs/contracts/agents-md-tech-stack.md +2 -2
- package/docs/contracts/ai-council-config.md +2 -2
- package/docs/contracts/at-rest-encryption.md +4 -0
- package/docs/contracts/audit-log-v1.md +1 -1
- package/docs/contracts/benchmark-ab-contract.md +101 -0
- package/docs/contracts/benchmark-corpus-spec.md +1 -1
- package/docs/contracts/branch-protection-policy.md +98 -0
- package/docs/contracts/ci-cost-budget.md +106 -0
- package/docs/contracts/ci-green-floor.md +141 -0
- package/docs/contracts/command-clusters.md +6 -6
- package/docs/contracts/command-surface-tiers.md +2 -2
- package/docs/contracts/command-taxonomy.md +2 -2
- package/docs/contracts/{compression-default-kill-criterion.md → condensation-default-kill-criterion.md} +29 -29
- package/docs/contracts/config-presets.md +1 -1
- package/docs/contracts/context-paths.md +3 -3
- package/docs/contracts/context-spine.md +1 -1
- package/docs/contracts/cost-summary-schema.md +12 -12
- package/docs/contracts/cross-wing-handoff.md +4 -4
- package/docs/contracts/daily-workspace.md +4 -0
- package/docs/contracts/decision-trace-v1.md +2 -2
- package/docs/contracts/discovery-manifest.md +4 -4
- package/docs/contracts/explain-modes.md +4 -0
- package/docs/contracts/file-ownership-matrix.json +3493 -3318
- package/docs/contracts/file-ownership-matrix.md +3 -3
- package/docs/contracts/frontmatter-contract.md +4 -4
- package/docs/contracts/ghostwriter-schema.md +3 -3
- package/docs/contracts/gui-wizard.md +110 -97
- package/docs/contracts/harness-expectations.md +123 -0
- package/docs/contracts/host-agent-protocol.md +4 -0
- package/docs/contracts/implement-ticket-flow.md +9 -9
- package/docs/contracts/install-scopes.md +77 -0
- package/docs/contracts/iron-law-overrides.txt +1 -1
- package/docs/contracts/kernel-membership.md +26 -26
- package/docs/contracts/linear-ai-rules-inclusion.md +1 -1
- package/docs/contracts/linter-structural-model.md +2 -2
- package/docs/contracts/load-context-budget-model.md +4 -4
- package/docs/contracts/load-context-schema.md +13 -13
- package/docs/contracts/local-analytics.md +4 -0
- package/docs/contracts/local-knowledge-ingestion.md +1 -1
- package/docs/contracts/mcp-cloud-scope.md +2 -2
- package/docs/contracts/mcp-phase-1-scope.md +3 -3
- package/docs/contracts/measurement-baseline.md +5 -5
- package/docs/contracts/mental-models.md +30 -30
- package/docs/contracts/multi-tool-projection-fidelity.md +4 -4
- package/docs/contracts/namespace.md +4 -4
- package/docs/contracts/orchestration-dsl-v1.md +7 -7
- package/docs/contracts/package-self-orientation.md +12 -12
- package/docs/contracts/persona-schema.md +6 -6
- package/docs/contracts/pilot/language-and-tone.md +1 -1
- package/docs/contracts/plain-language-surface.md +117 -0
- package/docs/contracts/profile-system.md +3 -3
- package/docs/contracts/release-pr-gating.md +103 -0
- package/docs/contracts/role-experience.md +3 -3
- package/docs/contracts/rule-classification.md +13 -13
- package/docs/contracts/rule-interactions.md +4 -4
- package/docs/contracts/rule-interactions.yml +30 -30
- package/docs/contracts/rule-priority-hierarchy.md +13 -13
- package/docs/contracts/rule-router.md +2 -2
- package/docs/contracts/safety-model.md +1 -1
- package/docs/contracts/skill-distribution-channels.md +61 -0
- package/docs/contracts/skill-domains.md +2 -2
- package/docs/contracts/smoke-contracts.md +5 -5
- package/docs/contracts/telegraph-telemetry.md +83 -0
- package/docs/contracts/trust-and-safety.md +5 -5
- package/docs/contracts/ui-stack-extension.md +7 -7
- package/docs/contracts/ui-track-flow.md +9 -9
- package/docs/contracts/user-type-schema.md +4 -4
- package/docs/contracts/workflow-packs.md +4 -4
- package/docs/contracts/workspace-documents.md +4 -0
- package/docs/customization.md +28 -8
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +6 -6
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +11 -11
- package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +2 -2
- package/docs/decisions/ADR-004-rule-governance-pruning.md +4 -4
- package/docs/decisions/ADR-005-subagent-worktrees.md +7 -7
- package/docs/decisions/ADR-011-domain-pack-readiness.md +6 -6
- package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +3 -3
- package/docs/decisions/ADR-015-discovery-manifest-contract.md +3 -3
- package/docs/decisions/ADR-017-monorepo-physical-layout.md +10 -10
- package/docs/decisions/ADR-018-trust-and-safety-layer.md +6 -6
- package/docs/decisions/ADR-019-router-json-dist-location.md +2 -2
- package/docs/decisions/ADR-020-global-only-consumer-scope.md +2 -2
- package/docs/decisions/ADR-021-deployment-shape.md +3 -3
- package/docs/decisions/ADR-022-daily-workspace-decomposition.md +1 -1
- package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +2 -2
- package/docs/decisions/ADR-028-root-layout.md +7 -7
- package/docs/decisions/ADR-029-multi-workspace-deferred.md +2 -2
- package/docs/decisions/ADR-rule-kernel-and-router.md +5 -5
- package/docs/deploy/connector-setup.md +2 -2
- package/docs/deploy/policy-cookbook.md +2 -2
- package/docs/deploy/team-deployment-posture.md +20 -0
- package/docs/development.md +17 -17
- package/docs/distribution/registries.md +32 -0
- package/docs/distribution/registry-submissions.md +85 -0
- package/docs/distribution/telemetry-schema.md +1 -1
- package/docs/getting-started-by-role.md +45 -3
- package/docs/getting-started.md +2 -2
- package/docs/guidelines/agent-infra/5w2h-analysis.md +3 -3
- package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
- package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +3 -3
- package/docs/guidelines/agent-infra/carve-out-predicates.md +3 -3
- package/docs/guidelines/agent-infra/critical-thinking.md +4 -4
- package/docs/guidelines/agent-infra/direct-answers-demos.md +1 -1
- package/docs/guidelines/agent-infra/first-principles.md +2 -2
- package/docs/guidelines/agent-infra/inversion-thinking.md +5 -5
- package/docs/guidelines/agent-infra/layered-settings.md +56 -2
- package/docs/guidelines/agent-infra/mental-models.md +3 -3
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +2 -2
- package/docs/guidelines/agent-infra/rule-type-governance.md +1 -1
- package/docs/guidelines/agent-infra/scqa-framework.md +5 -5
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +2 -2
- package/docs/guidelines/agent-infra/six-hats.md +3 -3
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
- package/docs/guidelines/agent-infra/systems-thinking.md +1 -1
- package/docs/guidelines/agent-infra/verify-before-complete-demos.md +1 -1
- package/docs/guidelines/augment-portability-patterns.md +4 -4
- package/docs/guidelines/cross-role-handoff.md +2 -2
- package/docs/guidelines/php/php-coding-patterns.md +1 -1
- package/docs/guidelines/prompt-templates.md +6 -6
- package/docs/maintainers/dev-mode.md +1 -1
- package/docs/mcp.md +1 -1
- package/docs/parity/bench.json +3 -3
- package/docs/parity/ruflo.md +2 -2
- package/docs/profiles.md +11 -11
- package/docs/quality.md +11 -11
- package/docs/safety.md +3 -3
- package/docs/setup/mcp-client-config.md +1 -1
- package/docs/setup/mcp-r2-bootstrap.md +1 -1
- package/docs/setup/mcp-server-docker.md +3 -3
- package/docs/setup/per-ide/windsurf.md +1 -1
- package/docs/skills-catalog.md +8 -7
- package/docs/troubleshooting.md +1 -1
- package/docs/walkthroughs/daily-workspace-a11y.md +87 -0
- package/llms.txt +7 -6
- package/package.json +1 -1
- package/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
- package/scripts/_archive/README.md +2 -2
- package/scripts/_archive/_backfill_skill_domains.py +3 -3
- package/scripts/_archive/_bootstrap_tier_frontmatter.py +3 -3
- package/scripts/_archive/_p43_bodies.py +10 -10
- package/scripts/_archive/{_p43_compress.py → _p43_condense.py} +5 -5
- package/scripts/_archive/_p4_migrate.py +7 -7
- package/scripts/_archive/_phase2_shim_helper.py +1 -1
- package/scripts/_archive/_pilot_council_question.py +5 -5
- package/scripts/_cli/explain_last/inputs.py +1 -1
- package/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
- package/scripts/_lib/agent_settings.py +195 -1
- package/scripts/_lib/agent_src.py +19 -19
- package/scripts/_lib/bench_ab_cache.py +162 -0
- package/scripts/_lib/bench_ab_scoring.py +209 -0
- package/scripts/_lib/{bench_caveman.py → bench_telegraph.py} +21 -21
- package/scripts/_lib/{bench_caveman_report.py → bench_telegraph_report.py} +21 -21
- package/scripts/_lib/claude_desktop_bundler.py +5 -5
- package/scripts/_lib/module_detection.py +223 -0
- package/scripts/_lib/scope_guard.sh +162 -0
- package/scripts/_phase4_bucket.py +3 -3
- package/scripts/_pilot_measure.py +4 -4
- package/scripts/_tmp_scan_framework_leakage.py +1 -1
- package/scripts/adoption_report.py +195 -0
- package/scripts/adoption_snapshot.py +219 -0
- package/scripts/adoption_status.py +166 -0
- package/scripts/ai-video/lib/parse-blueprint.sh +1 -1
- package/scripts/ai_council/advisors.py +5 -5
- package/scripts/ai_council/compile_corpus.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_budget_v2_audit.py +3 -3
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_context_layer_v1_review.py +2 -2
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_inject_quiet_flag.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_v2.sh +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_verbosity.sh +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_nondestructive_inline_audit.py +3 -3
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_per_task.sh +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase6_trigger_jaccard.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_phase_2a_budget_rebalance.py +6 -6
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_rebalancing_audit.py +1 -1
- package/scripts/ai_council/one_off_archive/2026-05/_one_off_tier_retrofit.py +6 -6
- package/scripts/annotate_discovery.py +13 -13
- package/scripts/apply_modules_config.py +290 -0
- package/scripts/audit_adr_coverage.py +2 -2
- package/scripts/audit_auto_rules.py +2 -2
- package/scripts/audit_cloud_compatibility.py +3 -3
- package/scripts/audit_command_surface.py +9 -9
- package/scripts/audit_likelihood.py +2 -2
- package/scripts/audit_user_type_axis.py +2 -2
- package/scripts/bench_ab_cache_dispatch.py +68 -0
- package/scripts/bench_ab_clone.py +170 -0
- package/scripts/bench_ab_diff.py +227 -0
- package/scripts/bench_ab_integrity.py +143 -0
- package/scripts/bench_ab_run.py +235 -0
- package/scripts/bench_ab_task_runner.py +369 -0
- package/scripts/bench_ab_tracka_run.py +202 -0
- package/scripts/{bench_compress_memory.py → bench_condense_memory.py} +16 -16
- package/scripts/bench_run.py +33 -33
- package/scripts/bench_runner.py +2 -2
- package/scripts/bootstrap.sh +99 -0
- package/scripts/build_cloud_bundle.py +6 -6
- package/scripts/build_discovery_manifest.py +7 -7
- package/scripts/build_linear_digest.py +3 -3
- package/scripts/build_rule_trigger_matrix.py +8 -8
- package/scripts/chat_history.py +5 -5
- package/scripts/check_always_budget.py +11 -5
- package/scripts/check_augment_description_cap.py +3 -3
- package/scripts/check_cluster_patterns.py +2 -2
- package/scripts/check_command_count_messaging.py +3 -3
- package/scripts/{check_compression.py → check_condensation.py} +34 -34
- package/scripts/{check_compressed_paths.py → check_condensed_paths.py} +8 -8
- package/scripts/check_context_paths.py +7 -7
- package/scripts/check_council_layout.py +2 -2
- package/scripts/check_council_references.py +9 -9
- package/scripts/check_iron_law_prominence.py +2 -2
- package/scripts/check_kernel_rule_bundle.py +2 -2
- package/scripts/check_module_management_neutral.py +149 -0
- package/scripts/check_no_roadmap_refs.py +9 -9
- package/scripts/check_portability.py +3 -3
- package/scripts/check_public_catalog_links.py +4 -4
- package/scripts/check_references.py +7 -6
- package/scripts/check_release_pr_shape.py +112 -0
- package/scripts/check_reply_consistency.py +3 -3
- package/scripts/check_safety_floor_untouched.py +1 -1
- package/scripts/check_template_pin_drift.py +5 -5
- package/scripts/check_token_optimizer_freshness.py +3 -3
- package/scripts/ci_status.py +301 -0
- package/scripts/ci_time_ratio.py +1 -1
- package/scripts/cleanup_other_scope.sh +146 -0
- package/scripts/compile_router.py +10 -10
- package/scripts/{compress.py → condense.py} +64 -64
- package/scripts/condense.sh +18 -0
- package/scripts/{compress_memory.py → condense_memory.py} +33 -33
- package/scripts/config/presets.py +2 -2
- package/scripts/config/profiles.py +1 -1
- package/scripts/cost_by_conversation.py +3 -3
- package/scripts/cost_summary.py +7 -7
- package/scripts/count_token_optimizer_usage.sh +1 -1
- package/scripts/gen_discovery_baseline.py +5 -5
- package/scripts/generate_index.py +6 -6
- package/scripts/generate_ownership_matrix.py +10 -10
- package/scripts/generate_pack_manifests.py +1 -1
- package/scripts/ghostwriter_fixture_allowlist.txt +1 -1
- package/scripts/install +3 -3
- package/scripts/install-hooks.sh +6 -6
- package/scripts/install.py +273 -45
- package/scripts/install.sh +187 -1
- package/scripts/inventory_frontmatter.py +2 -2
- package/scripts/iron_law_sha.py +3 -3
- package/scripts/lint_agents_layout.py +14 -7
- package/scripts/lint_agents_md.py +4 -4
- package/scripts/lint_archived_skills.py +3 -3
- package/scripts/lint_artefact_frontmatter.py +2 -2
- package/scripts/lint_bench_ab.py +172 -0
- package/scripts/lint_bench_corpus.py +1 -1
- package/scripts/lint_command_tiers.py +5 -5
- package/scripts/lint_context_spine_usage.py +1 -1
- package/scripts/lint_framework_leakage.py +7 -7
- package/scripts/lint_framework_leakage_allowlist.json +152 -84
- package/scripts/lint_ghostwriter_source.py +3 -3
- package/scripts/lint_handoffs.py +1 -1
- package/scripts/lint_load_context.py +11 -11
- package/scripts/lint_media_policy_linkage.py +5 -5
- package/scripts/lint_namespace.py +1 -1
- package/scripts/lint_no_new_atomic_commands.py +2 -2
- package/scripts/lint_orchestration_dsl.py +1 -1
- package/scripts/lint_pack_boundaries.py +2 -2
- package/scripts/lint_persona_governance.py +4 -4
- package/scripts/lint_role_experiences.py +237 -0
- package/scripts/lint_rule_interactions.py +2 -2
- package/scripts/lint_rule_tiers.py +1 -1
- package/scripts/lint_trust_coherence.py +2 -2
- package/scripts/mcp_registry_submit.sh +187 -0
- package/scripts/mcp_server/tools.py +1 -1
- package/scripts/measure_frugality_savings.py +10 -10
- package/scripts/measure_patterns.py +1 -1
- package/scripts/measure_projection_bytes.py +5 -5
- package/scripts/measure_rule_budget.py +3 -3
- package/scripts/measure_skill_reduction.py +1 -1
- package/scripts/memory_lookup.py +1 -1
- package/scripts/memory_status.py +2 -2
- package/scripts/migrate_command_suggestions.py +3 -3
- package/scripts/mine_session.py +1 -1
- package/scripts/move_artefact.py +3 -3
- package/scripts/new_skill.py +2 -2
- package/scripts/pack_mcp_content.py +9 -9
- package/scripts/plan_physical_move.py +6 -6
- package/scripts/print_required_checks.py +196 -0
- package/scripts/probe_skill_registration.py +413 -0
- package/scripts/propose_modules_config.py +145 -0
- package/scripts/prototype_lint_contradictions.py +1 -1
- package/scripts/recruit_preflight.sh +152 -0
- package/scripts/refine_ticket_detect.py +3 -3
- package/scripts/release.py +20 -0
- package/scripts/render_benchmark_md.py +308 -0
- package/scripts/roadmap_progress_hook.py +1 -1
- package/scripts/run_skill_evals.py +2 -2
- package/scripts/runtime_registry.py +4 -4
- package/scripts/schemas/command.schema.json +4 -4
- package/scripts/schemas/rule.schema.json +5 -5
- package/scripts/schemas/skill.schema.json +3 -3
- package/scripts/schemas/user-type.schema.json +1 -1
- package/scripts/score_skill_selection.py +1 -1
- package/scripts/skill_collision_clusters.py +2 -2
- package/scripts/skill_linter.py +81 -81
- package/scripts/skill_overlap.py +5 -5
- package/scripts/skill_tools/audit_persona_coverage.py +2 -2
- package/scripts/skill_tools/audit_user_type_coverage.py +2 -2
- package/scripts/skill_tools/run_block_d_eval.py +1 -1
- package/scripts/skill_tools/score_skill_relevance.py +1 -1
- package/scripts/skill_tools/suggest_skill_for_task.py +1 -1
- package/scripts/skill_trigger_eval.py +3 -3
- package/scripts/smoke/kernel.sh +7 -1
- package/scripts/smoke/router.sh +5 -5
- package/scripts/smoke/skills.sh +1 -1
- package/scripts/smoke_quickstart.py +1 -1
- package/scripts/snapshot_agent_outputs.py +3 -3
- package/scripts/spotcheck_thin_root.py +1 -1
- package/scripts/{caveman_stats.py → telegraph_stats.py} +18 -18
- package/scripts/update_counts.py +1 -1
- package/scripts/validate_decision_engine.py +1 -1
- package/scripts/validate_frontmatter.py +1 -1
- package/scripts/validate_safe_paths.py +3 -3
- package/scripts/{validate_caveman_carveouts.py → validate_telegraph_carveouts.py} +7 -7
- package/scripts/verify_roadmap_closure.py +6 -6
- package/templates/consumer-settings/ONBOARDING.md +41 -0
- package/.agent-src/commands/install-via-agent.md +0 -129
- package/.agent-src/skills/compress-memory/SKILL.md +0 -131
- package/dist/ui/assets/index-D-DY1ywI.js +0 -35
- package/dist/ui/assets/index-D-DY1ywI.js.map +0 -1
- package/dist/ui/assets/index-Dqfhmg-d.css +0 -1
- package/docs/adrs/caveman/README.md +0 -9
- package/docs/contracts/caveman-telemetry.md +0 -83
- package/scripts/compress.sh +0 -18
|
@@ -8,11 +8,11 @@ keep-beta-until: 2026-08-13
|
|
|
8
8
|
**Status:** beta · **Phase 4 of the `step-1-v2-feedback-followup`
|
|
9
9
|
roadmap** (under `agents/roadmaps/`).
|
|
10
10
|
|
|
11
|
-
Names the **per-tool guarantees** the projection pipeline (`scripts/
|
|
11
|
+
Names the **per-tool guarantees** the projection pipeline (`scripts/condense.py --sync` + `scripts/condense.py --generate-tools`) actually delivers. Byte-equivalence is not behaviour-fidelity — each consumer tool has its own frontmatter grammar, its own activation model, and its own surface for skills / rules / commands.
|
|
12
12
|
|
|
13
13
|
## Source of truth
|
|
14
14
|
|
|
15
|
-
Every projection starts from `.agent-src/` (
|
|
15
|
+
Every projection starts from `.agent-src/` (condensed) which is generated from `.agent-src.uncondensed/`. The projection layer **never** writes to source; it only reads.
|
|
16
16
|
|
|
17
17
|
## Per-tool projection map
|
|
18
18
|
|
|
@@ -96,7 +96,7 @@ These are **architectural facts**, not regressions. They are documented so insta
|
|
|
96
96
|
2. **Windsurf single-file (`.windsurfrules`) strips per-rule frontmatter.** Legacy compatibility surface. The new `.windsurf/rules/*.md` per-rule files preserve the full frontmatter — consumers should prefer those.
|
|
97
97
|
3. **Skills do not project to Cursor / Windsurf / Cline / Gemini / Copilot.** These tools have no native skill loader. Skill content reaches consumers indirectly via rule bodies and the `AGENTS.md` catalogue.
|
|
98
98
|
4. **Augment historically did not load symlinked rules.** Default is to **copy** rules into `.augment/rules/`. Opt into symlinks via `augment.rules_use_symlinks: true` in `.agent-settings.yml`.
|
|
99
|
-
5. **`task generate-tools` does not refresh `.augment/rules/`.** Only `task sync` (== `scripts/
|
|
99
|
+
5. **`task generate-tools` does not refresh `.augment/rules/`.** Only `task sync` (== `scripts/condense.py --sync`) copies rules into the Augment tree. Investigators who edit a rule, run only `generate-tools`, and then `ls .augment/rules/` will see stale state.
|
|
100
100
|
|
|
101
101
|
## Acceptance criteria for this contract
|
|
102
102
|
|
|
@@ -108,7 +108,7 @@ These are **architectural facts**, not regressions. They are documented so insta
|
|
|
108
108
|
|
|
109
109
|
## Related
|
|
110
110
|
|
|
111
|
-
- [`source-projection`](../architecture/source-projection.md) — pipeline A (source
|
|
111
|
+
- [`source-projection`](../architecture/source-projection.md) — pipeline A (source condensation)
|
|
112
112
|
- [`augment-projection`](../architecture/augment-projection.md) — pipeline B (Augment-specific)
|
|
113
113
|
- [`multi-tool-projection`](../architecture/multi-tool-projection.md) — pipeline C (the per-tool emitters)
|
|
114
114
|
- [`rule-router`](rule-router.md) — the `triggers:` / `routes_to:` grammar this contract pins
|
|
@@ -59,10 +59,10 @@ skipped by the linter.
|
|
|
59
59
|
|
|
60
60
|
| Type | Source path | Naming nuance |
|
|
61
61
|
|---|---|---|
|
|
62
|
-
| Skill | `.agent-src.
|
|
63
|
-
| Rule | `.agent-src.
|
|
64
|
-
| Command | `.agent-src.
|
|
65
|
-
| Persona | `.agent-src.
|
|
62
|
+
| Skill | `.agent-src.uncondensed/skills/<name>/SKILL.md` | Directory name == frontmatter `name`. |
|
|
63
|
+
| Rule | `.agent-src.uncondensed/rules/<name>.md` | Filename stem == frontmatter `id` (when present). |
|
|
64
|
+
| Command | `.agent-src.uncondensed/commands/<name>.md` or `<group>/<verb>.md` | Slash-command invocation `<name>` or `<group>:<verb>`. |
|
|
65
|
+
| Persona | `.agent-src.uncondensed/personas/<name>.md` | Cited from skill frontmatter `personas:` list. |
|
|
66
66
|
|
|
67
67
|
Sub-namespacing (`commit/in-chunks.md` → `/commit:in-chunks`) uses
|
|
68
68
|
the same charset rules per segment; the joining colon is implicit.
|
|
@@ -13,7 +13,7 @@ that re-runs the same step sequence with the same inputs.
|
|
|
13
13
|
**Scope.** Defines the file location, top-level shape, step kinds,
|
|
14
14
|
input / output wiring, and the linter contract. Does **not** define
|
|
15
15
|
the runtime semantics of each step kind — those live in the
|
|
16
|
-
[`/orchestrate`](../../.agent-src.
|
|
16
|
+
[`/orchestrate`](../../.agent-src.uncondensed/commands/orchestrate.md)
|
|
17
17
|
command and the `work_engine` directive modules it delegates to.
|
|
18
18
|
|
|
19
19
|
Last refreshed: 2026-05-11.
|
|
@@ -95,10 +95,10 @@ outputs:
|
|
|
95
95
|
|
|
96
96
|
| `kind` | `ref` resolves to | Runtime |
|
|
97
97
|
|---|---|---|
|
|
98
|
-
| `skill` | `.agent-src.
|
|
99
|
-
| `command` | `.agent-src.
|
|
100
|
-
| `persona` | `.agent-src.
|
|
101
|
-
| `subagent` | `subagent-orchestration` mode name | Spawned per [`subagent-orchestration`](../../.agent-src.
|
|
98
|
+
| `skill` | `.agent-src.uncondensed/skills/<ref>/SKILL.md` | Dispatched via `work_engine` directive matching the skill's domain. |
|
|
99
|
+
| `command` | `.agent-src.uncondensed/commands/<ref>.md` | Same dispatch path the slash-command takes when typed by the user. |
|
|
100
|
+
| `persona` | `.agent-src.uncondensed/personas/<ref>.md` | Sets `roles.active_role` for the next dependent step; does not produce its own output. |
|
|
101
|
+
| `subagent` | `subagent-orchestration` mode name | Spawned per [`subagent-orchestration`](../../.agent-src.uncondensed/skills/subagent-orchestration/SKILL.md). |
|
|
102
102
|
|
|
103
103
|
## Interpolation
|
|
104
104
|
|
|
@@ -147,7 +147,7 @@ majors.
|
|
|
147
147
|
|
|
148
148
|
## Cross-references
|
|
149
149
|
|
|
150
|
-
- Command surface: [`/orchestrate`](../../.agent-src.
|
|
150
|
+
- Command surface: [`/orchestrate`](../../.agent-src.uncondensed/commands/orchestrate.md).
|
|
151
151
|
- Linter: [`lint_orchestration_dsl.py`](../../scripts/lint_orchestration_dsl.py).
|
|
152
152
|
- Runtime dispatcher precedent: [`implement-ticket-flow.md`](implement-ticket-flow.md).
|
|
153
|
-
- Subagent runtime: [`subagent-orchestration`](../../.agent-src.
|
|
153
|
+
- Subagent runtime: [`subagent-orchestration`](../../.agent-src.uncondensed/skills/subagent-orchestration/SKILL.md).
|
|
@@ -36,7 +36,7 @@ Four wings compose via [`cross-wing-handoff.md`](cross-wing-handoff.md)
|
|
|
36
36
|
|
|
37
37
|
## Tech stack
|
|
38
38
|
|
|
39
|
-
Bash (install scripts) · Python 3.10+ (linters,
|
|
39
|
+
Bash (install scripts) · Python 3.10+ (linters, condensation, pytest) ·
|
|
40
40
|
Markdown (all content) · Taskfile (`task ci/sync/test`) · GitHub
|
|
41
41
|
Actions (`.github/workflows/`). Non-text inputs (PDF, DOCX, XLSX,
|
|
42
42
|
images, audio) route through the
|
|
@@ -49,20 +49,20 @@ mechanics deep-dive: [`agents-md-tech-stack.md`](agents-md-tech-stack.md) (beta)
|
|
|
49
49
|
|
|
50
50
|
| Directory | Purpose | Editable? |
|
|
51
51
|
|---|---|---|
|
|
52
|
-
| `.agent-src.
|
|
53
|
-
| `.agent-src/` |
|
|
52
|
+
| `.agent-src.uncondensed/` | Authoring layer — full verbose content | ✅ Yes — edit here |
|
|
53
|
+
| `.agent-src/` | Condensed output — shipped in the package, consumed by agents | ❌ No — regenerated |
|
|
54
54
|
| `.augment/` | Local projection of `.agent-src/` for Augment Code (gitignored) | ❌ No — regenerated |
|
|
55
55
|
| `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules` | Tool-specific projections | ❌ No — regenerated |
|
|
56
56
|
| `agents/` | Package's own roadmaps, contexts, sessions | ✅ Yes |
|
|
57
57
|
|
|
58
58
|
**Never edit `.agent-src/` or `.augment/` directly.** Edit
|
|
59
|
-
`.agent-src.
|
|
60
|
-
|
|
59
|
+
`.agent-src.uncondensed/` and run `task sync` (or `task ci`) to
|
|
60
|
+
condense + regenerate the tool directories.
|
|
61
61
|
|
|
62
62
|
## Repository layout
|
|
63
63
|
|
|
64
64
|
```
|
|
65
|
-
.agent-src.
|
|
65
|
+
.agent-src.uncondensed/ ← edit here
|
|
66
66
|
skills/ (150 skills)
|
|
67
67
|
rules/ (58 rules)
|
|
68
68
|
commands/ (103 commands)
|
|
@@ -73,10 +73,10 @@ compress + regenerate the tool directories.
|
|
|
73
73
|
docs/guidelines/ (47 guidelines — reference material, not packaged)
|
|
74
74
|
docs/contracts/ (kernel-membership, rule-router, rule-classification, …)
|
|
75
75
|
docs/decisions/ (ADRs — kernel overrides, scope decisions)
|
|
76
|
-
.agent-src/ ←
|
|
76
|
+
.agent-src/ ← condensed output shipped in the package
|
|
77
77
|
.agent-src/router.json ← compiled router manifest (consumed at runtime)
|
|
78
78
|
.augment/ ← local projection for Augment Code (gitignored)
|
|
79
|
-
scripts/ ← install.sh, install.py,
|
|
79
|
+
scripts/ ← install.sh, install.py, condense.py, linters
|
|
80
80
|
tests/ ← pytest (324 tests) + test_install.sh
|
|
81
81
|
agents/ ← this package's own roadmaps / sessions / contexts
|
|
82
82
|
.github/workflows/ ← CI
|
|
@@ -88,7 +88,7 @@ agents/ ← this package's own roadmaps / sessions / context
|
|
|
88
88
|
|---|---|
|
|
89
89
|
| `.agent-src/` must stay project-agnostic — no project names, domains, stacks | [`augment-portability`](../../.agent-src/rules/augment-portability.md) |
|
|
90
90
|
| Root AGENTS.md + copilot-instructions.md must stay project-agnostic too | [`augment-portability`](../../.agent-src/rules/augment-portability.md) |
|
|
91
|
-
| Edit `.agent-src.
|
|
91
|
+
| Edit `.agent-src.uncondensed/`, never `.agent-src/` or `.augment/` | [`augment-source-of-truth`](../../.agent-src/rules/augment-source-of-truth.md) |
|
|
92
92
|
| Skills must declare frontmatter, be self-contained, pass the linter | [`skill-quality`](../../.agent-src/rules/skill-quality.md) |
|
|
93
93
|
| Size budgets for skills, rules, commands | [`size-enforcement`](../../.agent-src/rules/size-enforcement.md) |
|
|
94
94
|
| Keep `.agent-src/` / `agents/` cross-refs in sync on add/rename/delete | [`docs-sync`](../../.agent-src/rules/docs-sync.md) |
|
|
@@ -99,7 +99,7 @@ agents/ ← this package's own roadmaps / sessions / context
|
|
|
99
99
|
Default-off. `telemetry.artifact_engagement.enabled: true` in
|
|
100
100
|
`.agent-settings.yml` enables local-only JSONL logging. Redaction
|
|
101
101
|
floor + pipeline:
|
|
102
|
-
[`artifact-engagement-flow.md`](../../.agent-src.
|
|
102
|
+
[`artifact-engagement-flow.md`](../../.agent-src.uncondensed/contexts/contracts/artifact-engagement-flow.md)
|
|
103
103
|
(beta). Rule:
|
|
104
104
|
[`artifact-engagement-recording`](../../.agent-src/rules/artifact-engagement-recording.md).
|
|
105
105
|
|
|
@@ -111,7 +111,7 @@ surfaces matches as numbered options with a "run as-is" escape;
|
|
|
111
111
|
Rule: [`command-suggestion-policy`](../../.agent-src/rules/command-suggestion-policy.md).
|
|
112
112
|
Eligibility + scoring + hardening:
|
|
113
113
|
[`adr-command-suggestion.md`](adr-command-suggestion.md) and
|
|
114
|
-
[`command-suggestion-flow.md`](../../.agent-src.
|
|
114
|
+
[`command-suggestion-flow.md`](../../.agent-src.uncondensed/contexts/contracts/command-suggestion-flow.md)
|
|
115
115
|
(beta).
|
|
116
116
|
|
|
117
117
|
## Multi-agent tool support
|
|
@@ -126,7 +126,7 @@ layout + cloud-bundle pipeline:
|
|
|
126
126
|
|
|
127
127
|
## Contributing
|
|
128
128
|
|
|
129
|
-
1. Edit inside `.agent-src.
|
|
129
|
+
1. Edit inside `.agent-src.uncondensed/` or `scripts/` or `tests/` —
|
|
130
130
|
never in `.agent-src/`, `.augment/`, `.claude/`, `.cursor/`, etc.
|
|
131
131
|
2. Run `task ci` locally. It must exit 0.
|
|
132
132
|
3. Commit in logical chunks with Conventional Commits.
|
|
@@ -7,7 +7,7 @@ keep-beta-until: 2026-08-12
|
|
|
7
7
|
|
|
8
8
|
> **Status:** active · **Stability:** beta · **Owner:** road-to-better-skills-and-profiles Block A
|
|
9
9
|
> · **Linter:** `scripts/skill_linter.py § lint_persona`
|
|
10
|
-
> · **Source-of-truth dir:** `.agent-src.
|
|
10
|
+
> · **Source-of-truth dir:** `.agent-src.uncondensed/personas/`
|
|
11
11
|
> · **Council verdict:** iter-1 A-OQ1 (c) — hybrid
|
|
12
12
|
|
|
13
13
|
Locks the canonical persona shape: a uniform frontmatter across both
|
|
@@ -116,9 +116,9 @@ The linter (A2 work) enforces:
|
|
|
116
116
|
- description ≤ 160 chars
|
|
117
117
|
|
|
118
118
|
Specialist authors must use the template at
|
|
119
|
-
`.agent-src.
|
|
119
|
+
`.agent-src.uncondensed/personas/_template-specialist/persona.md`.
|
|
120
120
|
Core authors continue to use
|
|
121
|
-
`.agent-src.
|
|
121
|
+
`.agent-src.uncondensed/templates/persona.md` (unchanged).
|
|
122
122
|
|
|
123
123
|
## § 6 — Persona inventory (v1 snapshot)
|
|
124
124
|
|
|
@@ -148,7 +148,7 @@ loosening is non-breaking.
|
|
|
148
148
|
|
|
149
149
|
- [`skill-domains`](skill-domains.md) — sister taxonomy for skills
|
|
150
150
|
- [`role-contracts`](../guidelines/agent-infra/role-contracts.md) — workflow-mode axis personas compose with
|
|
151
|
-
- `.agent-src.
|
|
152
|
-
- `.agent-src.
|
|
153
|
-
- `.agent-src.
|
|
151
|
+
- `.agent-src.uncondensed/personas/README.md` — authoring entry point + Core-6 cast
|
|
152
|
+
- `.agent-src.uncondensed/personas/_template-specialist/persona.md` — specialist starter
|
|
153
|
+
- `.agent-src.uncondensed/templates/persona.md` — core starter (v1, unchanged)
|
|
154
154
|
- `road-to-better-skills-and-profiles.md` — Block A (schema lock + extension)
|
|
@@ -56,7 +56,7 @@ Examples + wrong-vs-correct: [`language-and-tone-examples`](../../docs/guideline
|
|
|
56
56
|
|
|
57
57
|
## `.md` files — ALWAYS English
|
|
58
58
|
|
|
59
|
-
Every text inside `.md` under `.augment/`, `.agent-src/`, `.agent-src.
|
|
59
|
+
Every text inside `.md` under `.augment/`, `.agent-src/`, `.agent-src.uncondensed/`, `agents/`: headings, paragraphs, bullets, option labels, prompts, placeholders, ASCII labels, table headers / content. Agent translates at runtime.
|
|
60
60
|
|
|
61
61
|
**Labeled-anchor exception** — quoting German inside English prose is forbidden. Either translate, OR use a labeled `DE: … · EN: …` anchor block (only allowed location for German prose).
|
|
62
62
|
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
stability: beta
|
|
3
|
+
keep-beta-until: 2026-08-26
|
|
4
|
+
roadmap_ref: road-to-frictionless-employee-workspace.md
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Plain-Language Surface Contract
|
|
8
|
+
|
|
9
|
+
> **Status** · v0 / beta · 2026-05-26. Defines the user-facing
|
|
10
|
+
> relabel matrix for non-developer audiences. Phase C of
|
|
11
|
+
> `road-to-frictionless-employee-workspace.md`. The matrix is the
|
|
12
|
+
> single source of truth; lint enforcement lives in
|
|
13
|
+
> `scripts/lint_role_experiences.py --plain-language`.
|
|
14
|
+
|
|
15
|
+
## What this is
|
|
16
|
+
|
|
17
|
+
A relabel matrix between the package's **technical vocabulary**
|
|
18
|
+
(council, trust, packs, orchestration, contracts, advisory, …) and
|
|
19
|
+
the **plain-language labels** non-developer audiences (galabau owner,
|
|
20
|
+
sales rep, support agent, team leader, content creator, consultant)
|
|
21
|
+
expect to read.
|
|
22
|
+
|
|
23
|
+
The matrix does **not** rename the technical vocabulary in
|
|
24
|
+
developer-facing artefacts (`SKILL.md`, rule files, ADRs,
|
|
25
|
+
`docs/contracts/`, `docs/decisions/`, `agents/contexts/`, scripts).
|
|
26
|
+
The technical vocabulary earned its place there. The matrix only
|
|
27
|
+
governs three user-facing surfaces:
|
|
28
|
+
|
|
29
|
+
1. **Workspace UI strings** (`src/ui/pages/WorkspacePage.tsx` and its
|
|
30
|
+
child components — buttons, headings, tooltips, banner text).
|
|
31
|
+
2. **`docs/getting-started-by-role.md`** — the non-developer entry
|
|
32
|
+
surface. Engineering-lead and developer sections keep the
|
|
33
|
+
technical vocabulary.
|
|
34
|
+
3. **Role experience `index.md` bodies** (`agents/roles/<slug>/index.md`)
|
|
35
|
+
— the one-paragraph identity + first-task descriptions. The
|
|
36
|
+
`skills.yml` files are link-targets, not user prose, and keep
|
|
37
|
+
the skill IDs verbatim.
|
|
38
|
+
|
|
39
|
+
## Why
|
|
40
|
+
|
|
41
|
+
The 9.3/10 feedback round (2026-05-25) caught six jargon terms a
|
|
42
|
+
sales rep / galabau owner / support agent does not parse on first
|
|
43
|
+
read: `council`, `trust level`, `pack`, `orchestration`, `contract`,
|
|
44
|
+
`advisory`. Replacing them in the non-developer surface lifts the
|
|
45
|
+
"Daily workspace UX" score from 5.5/10 toward the ≥ 7.5/10 acceptance
|
|
46
|
+
gate; the technical vocabulary survives in the developer-facing
|
|
47
|
+
artefacts where reviewers, contributors, and agents continue to read
|
|
48
|
+
them.
|
|
49
|
+
|
|
50
|
+
## Matrix
|
|
51
|
+
|
|
52
|
+
| Technical term | Plain-language label | Applies to surface |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| `council` | `second-opinion check` | Workspace UI · role indices · getting-started |
|
|
55
|
+
| `trust level` | `reliability score` | Workspace UI · role indices · getting-started |
|
|
56
|
+
| `pack` | `ready-made setup` | Workspace UI · role indices · getting-started |
|
|
57
|
+
| `orchestration` | `multi-step workflow` | Workspace UI · role indices · getting-started |
|
|
58
|
+
| `contract` | `guarantee` | Workspace UI · role indices · getting-started |
|
|
59
|
+
| `advisory` | `recommendation` | Workspace UI · role indices · getting-started |
|
|
60
|
+
|
|
61
|
+
## Carve-outs — surfaces that keep the technical vocabulary
|
|
62
|
+
|
|
63
|
+
The matrix MUST NOT apply to:
|
|
64
|
+
|
|
65
|
+
- `.agent-src.uncondensed/`, `.agent-src/`, `.augment/`, `.claude/`,
|
|
66
|
+
`.cursor/`, `.windsurf/`, `.clinerules/` — all skill / rule /
|
|
67
|
+
command / persona artefacts.
|
|
68
|
+
- `docs/contracts/`, `docs/decisions/`, `docs/architecture.md`,
|
|
69
|
+
`docs/getting-started-laravel.md`, every other developer-facing
|
|
70
|
+
doc.
|
|
71
|
+
- `agents/contexts/`, `agents/roadmaps/`, `scripts/`, source code,
|
|
72
|
+
test fixtures, golden output files.
|
|
73
|
+
- The developer / engineering-lead sections inside
|
|
74
|
+
`docs/getting-started-by-role.md` — those readers are the audience
|
|
75
|
+
for the technical vocabulary.
|
|
76
|
+
- `agents/roles/<slug>/skills.yml` — the skill IDs are URL slugs,
|
|
77
|
+
not user prose. The `why:` strings stay neutral so the launcher's
|
|
78
|
+
shortlist rail is informative; both audiences read them.
|
|
79
|
+
|
|
80
|
+
## Lint enforcement
|
|
81
|
+
|
|
82
|
+
`scripts/lint_role_experiences.py --plain-language` scans every
|
|
83
|
+
`agents/roles/<slug>/index.md` body for the six jargon terms.
|
|
84
|
+
Frontmatter and fenced code blocks are excluded. Any hit fails the
|
|
85
|
+
lint with a pointer back to this contract. Phase C Step 5 wires the
|
|
86
|
+
flag into `task ci`.
|
|
87
|
+
|
|
88
|
+
## Tone scaffold
|
|
89
|
+
|
|
90
|
+
When a relabel feels awkward, default to the role's own language:
|
|
91
|
+
the galabau owner does not call something a "second-opinion check"
|
|
92
|
+
verbatim either, but they understand it instantly. Compare:
|
|
93
|
+
|
|
94
|
+
- **Technical:** "the council ruled this trust level is `community`."
|
|
95
|
+
- **Plain:** "the second-opinion check rated this reliability score
|
|
96
|
+
as community-built (less reviewed than core)."
|
|
97
|
+
|
|
98
|
+
The plain version is longer; that is the cost of readability for
|
|
99
|
+
non-developer audiences. Workspace UI strings stay short by carrying
|
|
100
|
+
the relabel without the explanation (the explanation lives in the
|
|
101
|
+
plain-explain right-rail toggle).
|
|
102
|
+
|
|
103
|
+
## Re-audit cadence
|
|
104
|
+
|
|
105
|
+
Re-audit on each of:
|
|
106
|
+
- A new jargon term entering the user-facing surface (caught either
|
|
107
|
+
by lint or by a feedback round).
|
|
108
|
+
- A role experience adding a section the matrix does not cover.
|
|
109
|
+
- A reviewer round (recruit-session) that names a relabel the matrix
|
|
110
|
+
missed.
|
|
111
|
+
|
|
112
|
+
## See also
|
|
113
|
+
|
|
114
|
+
- [`docs/getting-started-by-role.md`](../getting-started-by-role.md) — the entry surface.
|
|
115
|
+
- [`docs/contracts/role-experience.md`](role-experience.md) — role artefact shape.
|
|
116
|
+
- [`scripts/lint_role_experiences.py`](../../scripts/lint_role_experiences.py) — lint enforcement.
|
|
117
|
+
- `road-to-frictionless-employee-workspace.md` § Phase C — the roadmap step.
|
|
@@ -18,7 +18,7 @@ keep-beta-until: 2026-08-14
|
|
|
18
18
|
|
|
19
19
|
A **profile** declares the user's audience identity. Six seed profiles
|
|
20
20
|
ship; users can declare their own under
|
|
21
|
-
`.agent-src.
|
|
21
|
+
`.agent-src.uncondensed/profiles/<id>.yml`.
|
|
22
22
|
|
|
23
23
|
| `profile.id` | Audience | README entry-paragraph | Default `preset.id` |
|
|
24
24
|
|---|---|---|---|
|
|
@@ -101,7 +101,7 @@ command (Phase 1 item 3).
|
|
|
101
101
|
## User-defined profiles
|
|
102
102
|
|
|
103
103
|
A consumer project MAY ship a custom profile under
|
|
104
|
-
`.agent-src.
|
|
104
|
+
`.agent-src.uncondensed/profiles/<id>.yml`. Constraints:
|
|
105
105
|
|
|
106
106
|
- `id` MUST be unique across seed + user-defined profiles.
|
|
107
107
|
- Shape MUST match the seed contract above (audience / defaults / surface).
|
|
@@ -121,7 +121,7 @@ Only changes to the **seed set** require an ADR.
|
|
|
121
121
|
- A profile YAML references a non-existent `preset_id`.
|
|
122
122
|
- The seed-profile count diverges from this contract's table.
|
|
123
123
|
- `defaults.personas` references a persona id that does not exist
|
|
124
|
-
under `.agent-src.
|
|
124
|
+
under `.agent-src.uncondensed/personas/`.
|
|
125
125
|
|
|
126
126
|
## Non-goals
|
|
127
127
|
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Release-PR Gating Contract
|
|
2
|
+
|
|
3
|
+
> **Status:** active · **Owner:** maintainer (`scripts/release.py`) · **Opened:** 2026-05-26
|
|
4
|
+
>
|
|
5
|
+
> Source: `road-to-optimized-ci-and-release-gates.md` Phase A Step 1. Measured
|
|
6
|
+
> baseline (`gh run list --branch main --limit 50`): `Public Install Smoke`
|
|
7
|
+
> avg **413 s** (3-OS × 2-Node matrix), `Tests` avg **218 s** (Linux + macOS
|
|
8
|
+
> + Windows). Both trigger on `package.json`. Release PRs (`release/X.Y.Z`)
|
|
9
|
+
> only touch `package.json`, `CHANGELOG.md`, `marketplace.json`,
|
|
10
|
+
> `packages/*/pack.yaml`, `packages/*/README.md` — verified against PR #238
|
|
11
|
+
> (3.3.0). They cannot regress install or runtime behaviour by construction.
|
|
12
|
+
|
|
13
|
+
## Release-PR shape
|
|
14
|
+
|
|
15
|
+
A pull request qualifies as a **release PR** when **both** of the following
|
|
16
|
+
hold:
|
|
17
|
+
|
|
18
|
+
1. **Head branch matches** `^release/\d+\.\d+\.\d+$` — same regex as
|
|
19
|
+
`scripts/release.py` § `_RELEASE_BRANCH_RE`.
|
|
20
|
+
2. **Diff file set is a subset of the version-bump allowlist:**
|
|
21
|
+
- `package.json`
|
|
22
|
+
- `CHANGELOG.md`
|
|
23
|
+
- `.claude-plugin/marketplace.json`
|
|
24
|
+
- `packages/*/pack.yaml`
|
|
25
|
+
- `packages/*/README.md`
|
|
26
|
+
|
|
27
|
+
Both predicates are enforced by `scripts/check_release_pr_shape.py`
|
|
28
|
+
(stdlib-only, ≤ 150 LOC). The script exits 0 when both hold; non-zero with
|
|
29
|
+
a per-file diff naming any out-of-allowlist entry otherwise.
|
|
30
|
+
|
|
31
|
+
## Cut surface — heavy jobs that skip on release PRs
|
|
32
|
+
|
|
33
|
+
Skipped via `if: !startsWith(github.head_ref, 'release/')` guards on the
|
|
34
|
+
heavy install/test jobs. These are the jobs that release PRs cannot regress
|
|
35
|
+
by construction (no install scripts, no runtime code, no test source in the
|
|
36
|
+
release-PR allowlist):
|
|
37
|
+
|
|
38
|
+
| Workflow | Job | Why it cuts |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| `tests.yml` | `install-tests` | release-PR diff has no `install.sh` / `scripts/install.py` / `tests/test_install.sh` |
|
|
41
|
+
| `tests.yml` | `install-aux-tests` | same — orchestrator, key contracts, one-liner smoke all untouched |
|
|
42
|
+
| `tests.yml` | `python-tests` | release-PR diff has no `scripts/**` or `tests/**` (other than CHANGELOG via path filter — see below) |
|
|
43
|
+
| `tests.yml` | `node-tests` | release-PR diff has no `src/**`, `tests/{cli,server,ui}/**`, `packages/core/installer/**` |
|
|
44
|
+
| `tests.yml` | `windows-lockfile-export` | release-PR diff has no `scripts/install_global*.py`, `scripts/cmd_export.py`, lockfile test surface |
|
|
45
|
+
| `smoke-public-install.yml` | `smoke` | release-PR diff has no `scripts/install*`, `setup.sh`, `templates/**`, `package.json` runtime behaviour |
|
|
46
|
+
|
|
47
|
+
`push:` to `main` and the weekly cron on `smoke-public-install.yml` stay
|
|
48
|
+
**unconditional** — those catch drift the PR matrix can't see.
|
|
49
|
+
|
|
50
|
+
## Kept surface — release PRs still prove these
|
|
51
|
+
|
|
52
|
+
The release-PR required-check floor stays equivalent (smaller, faster) to
|
|
53
|
+
the feature-PR floor by adding:
|
|
54
|
+
|
|
55
|
+
| Workflow | Job | Proves |
|
|
56
|
+
|---|---|---|
|
|
57
|
+
| `consistency.yml` | (existing) | `task consistency` — source-of-truth integrity |
|
|
58
|
+
| `smoke.yml` | `smoke-contracts` | Contract self-checks (kernel, router, hashes) |
|
|
59
|
+
| `release-guard.yml` | `assert-version-matches-tag` | already gates `npm publish`; remains tag-trigger |
|
|
60
|
+
| `migration-dry-run.yml` | (existing) | Migration plan dry-runs |
|
|
61
|
+
| `release-validation.yml` (Phase B) | `release-shape` | shape detector — fails closed if diff exits the allowlist |
|
|
62
|
+
| `release-validation.yml` (Phase B) | `changelog-entry` | CHANGELOG carries an entry matching the head-branch version |
|
|
63
|
+
| `release-validation.yml` (Phase B) | `version-consistency` | `package.json` / `marketplace.json` / pack manifests agree on the version |
|
|
64
|
+
|
|
65
|
+
## Rollback trigger — fail-closed
|
|
66
|
+
|
|
67
|
+
The optimisation is **opt-in by shape, not by branch name**. A release-PR
|
|
68
|
+
whose diff contains a stray file outside the allowlist (e.g. a last-minute
|
|
69
|
+
CHANGELOG fixup that also touches `scripts/release.py`) trips the shape
|
|
70
|
+
detector:
|
|
71
|
+
|
|
72
|
+
1. `check_release_pr_shape.py` exits non-zero with a per-file diff.
|
|
73
|
+
2. The CI dashboard surfaces "release-shape" red.
|
|
74
|
+
3. The maintainer either narrows the diff (move the script edit to a
|
|
75
|
+
separate PR) or accepts the heavy matrix re-running on the next push.
|
|
76
|
+
|
|
77
|
+
In other words: the cut applies only when shape is **provably** safe. Branch
|
|
78
|
+
name alone never bypasses the heavy matrix.
|
|
79
|
+
|
|
80
|
+
## What this contract is not
|
|
81
|
+
|
|
82
|
+
- **Not a test-deletion contract.** Every existing assertion still runs
|
|
83
|
+
somewhere in the cadence (PR for feature PRs, push-to-main + weekly cron
|
|
84
|
+
for smoke).
|
|
85
|
+
- **Not a coverage-reduction contract.** The release-validation jobs are
|
|
86
|
+
additive, not substitutive.
|
|
87
|
+
- **Not a release-velocity contract.** Release cadence is driven by
|
|
88
|
+
Conventional Commits in `scripts/release.py`, not by CI cost.
|
|
89
|
+
- **Not a Hard-Floor lift.** No security check is removed.
|
|
90
|
+
`release-guard.yml`'s `assert-version-matches-tag` job is independent of
|
|
91
|
+
`Tests` / `Public Install Smoke` and stays mandatory on every tag.
|
|
92
|
+
|
|
93
|
+
## See also
|
|
94
|
+
|
|
95
|
+
- `docs/contracts/branch-protection-policy.md` — per-PR-shape required-check
|
|
96
|
+
matrix (Phase D).
|
|
97
|
+
- `docs/contracts/ci-cost-budget.md` — measured baselines + quarterly review
|
|
98
|
+
cadence (Phase C).
|
|
99
|
+
- `.github/workflows/release-validation.yml` — the tight release-shape
|
|
100
|
+
validation workflow (Phase B).
|
|
101
|
+
- `scripts/check_release_pr_shape.py` — the shape detector (Phase A).
|
|
102
|
+
- `scripts/release.py` § `_RELEASE_BRANCH_RE` — source of truth for the
|
|
103
|
+
release-branch naming convention.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-
|
|
3
|
+
keep-beta-until: 2026-08-23
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Role-experience contract
|
|
@@ -19,7 +19,7 @@ A folder at `agents/roles/<role>/` that contains:
|
|
|
19
19
|
|
|
20
20
|
A role experience is **not**:
|
|
21
21
|
|
|
22
|
-
- A new skill — the shortlist references existing skills under `packages/<pack>/.agent-src.
|
|
22
|
+
- A new skill — the shortlist references existing skills under `packages/<pack>/.agent-src.uncondensed/skills/`. The role experience curates; it does not implement.
|
|
23
23
|
- A documentation page — `docs/getting-started-by-role.md` is the prose surface and links **to** the role experience, never duplicates it.
|
|
24
24
|
- A persona file under `personas/` — personas are review voices the AI Council uses; role experiences are end-user entry points.
|
|
25
25
|
|
|
@@ -92,7 +92,7 @@ skills:
|
|
|
92
92
|
why: "Section-by-section drafting flow for longer offers."
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
Every `id` must resolve to an existing skill under `packages/<pack>/.agent-src.
|
|
95
|
+
Every `id` must resolve to an existing skill under `packages/<pack>/.agent-src.uncondensed/skills/<id>/SKILL.md` — verified by the lint pass in Phase 3 Step 6.
|
|
96
96
|
|
|
97
97
|
## Versioning + status
|
|
98
98
|
|
|
@@ -7,7 +7,7 @@ keep-beta-until: 2026-08-12
|
|
|
7
7
|
# Rule Classification — Phase 1.2 of road-to-kernel-and-router
|
|
8
8
|
|
|
9
9
|
> **Status:** active · **Stability:** beta · **Owner:** road-to-kernel-and-router P1.2
|
|
10
|
-
> · **Source of truth:** `.agent-src.
|
|
10
|
+
> · **Source of truth:** `.agent-src.uncondensed/rules/*.md`
|
|
11
11
|
|
|
12
12
|
Migration plan for all 56 source rules. **No edits land here** — this
|
|
13
13
|
document is the disposition map P2 / P4 will execute against.
|
|
@@ -16,8 +16,8 @@ document is the disposition map P2 / P4 will execute against.
|
|
|
16
16
|
|
|
17
17
|
| code | meaning |
|
|
18
18
|
|---|---|
|
|
19
|
-
| `keep-in-kernel` | Iron Law floor / behaviour / safety / tone / ask-policy. Loaded every session.
|
|
20
|
-
| `
|
|
19
|
+
| `keep-in-kernel` | Iron Law floor / behaviour / safety / tone / ask-policy. Loaded every session. Condensed to ≤ 2.5k chars (P2.2; raised from 1.5k per Council R2). |
|
|
20
|
+
| `condense-and-keep` | Behavioural rule that stays in `rules/` as auto-tier. Condensed in place per the P2.2 playbook. Loaded by router on trigger match. |
|
|
21
21
|
| `move-to-skill:<id>` | Procedural how-to content. Body migrates into the named skill (P4.1); rule shrinks to Iron Law one-liner + `routes_to:`. |
|
|
22
22
|
| `move-to-guideline:<id>` | Reference / examples / mechanics tables. Body migrates into `docs/guidelines/<id>.md` (P4.2); rule keeps Iron Law + pointer. |
|
|
23
23
|
|
|
@@ -51,25 +51,25 @@ yet.
|
|
|
51
51
|
| scope-control | 4368 | `keep-in-kernel` | Iron Law (safety-floor): no unsolicited refactors / git-ops gate |
|
|
52
52
|
| verify-before-complete | 2344 | `keep-in-kernel` | Iron Law: no completion claims without fresh verification |
|
|
53
53
|
|
|
54
|
-
**Always-bucket total: 32 403 chars.** Pilot
|
|
54
|
+
**Always-bucket total: 32 403 chars.** Pilot condensation rate `r`
|
|
55
55
|
locked at **median 0.712** (P1.3, Council R2 amendment); projection
|
|
56
56
|
sum = 23 071 chars, under the 25k hard cap with 1 929 chars headroom.
|
|
57
57
|
Per-rule cap raised to ≤ 2.5k (Council R2). Iron-Law-override ADRs
|
|
58
58
|
may lift individual rules above 2.5k where Iron-Law density forbids
|
|
59
|
-
further
|
|
59
|
+
further condensation — currently 2 expected (`direct-answers` +342,
|
|
60
60
|
`language-and-tone` +1286). See `kernel-membership.md` § 5.
|
|
61
61
|
|
|
62
62
|
> **Council swap ADR (P2.1 input).** Sonnet 4.5 flagged
|
|
63
63
|
> `agent-authority` as a routing index (no Iron-Law fence; should
|
|
64
64
|
> demote to auto-tier-3) and `autonomous-execution` (currently
|
|
65
|
-
> `
|
|
65
|
+
> `condense-and-keep` below) as a mode-independent Band-4 authority
|
|
66
66
|
> that should promote to kernel. Swap accepted ⇒ +1213 chars over
|
|
67
67
|
> the 25k cap. Decision deferred to P2.1 ADR; current dispositions
|
|
68
68
|
> below remain locked until the ADR resolves.
|
|
69
69
|
|
|
70
|
-
### § 3.2 — auto-rules:
|
|
70
|
+
### § 3.2 — auto-rules: condense-and-keep (22)
|
|
71
71
|
|
|
72
|
-
Behavioural rules with too much Iron-Law content for migration;
|
|
72
|
+
Behavioural rules with too much Iron-Law content for migration; condense
|
|
73
73
|
in place per P2.2 playbook. Loaded by router on trigger match.
|
|
74
74
|
|
|
75
75
|
| id | chars | tier | rationale |
|
|
@@ -101,7 +101,7 @@ in place per P2.2 playbook. Loaded by router on trigger match.
|
|
|
101
101
|
|
|
102
102
|
Procedural how-to. Rule body migrates into named skill (P4.1); rule
|
|
103
103
|
shrinks to Iron-Law one-liner + `routes_to:`. Skill IDs reference
|
|
104
|
-
existing skills under `.agent-src.
|
|
104
|
+
existing skills under `.agent-src.uncondensed/skills/`.
|
|
105
105
|
|
|
106
106
|
| id | chars | target skill | rationale |
|
|
107
107
|
|---|---:|---|---|
|
|
@@ -130,7 +130,7 @@ Reference / examples / mechanics. Body migrates into
|
|
|
130
130
|
|
|
131
131
|
| id | chars | target guideline | rationale |
|
|
132
132
|
|---|---:|---|---|
|
|
133
|
-
| artifact-engagement-recording | 3462 | `artifact-engagement-flow` | Mechanics doc lives in `.agent-src.
|
|
133
|
+
| artifact-engagement-recording | 3462 | `artifact-engagement-flow` | Mechanics doc lives in `.agent-src.uncondensed/contexts/contracts/` (P4.1) |
|
|
134
134
|
| augment-portability | 2956 | `augment-portability-patterns` | Project-agnostic-patterns reference |
|
|
135
135
|
| command-suggestion-policy | 3954 | `command-suggestion-flow` | Flow doc already exists |
|
|
136
136
|
| php-coding | 3433 | `php-coding-patterns` | Reference table; per-stack |
|
|
@@ -142,9 +142,9 @@ Reference / examples / mechanics. Body migrates into
|
|
|
142
142
|
|
|
143
143
|
| check | command | acceptance |
|
|
144
144
|
|---|---|---|
|
|
145
|
-
| Coverage | `python3 scripts/measure_rule_budget.py` | 56 rules total → 9 kernel + 22
|
|
145
|
+
| Coverage | `python3 scripts/measure_rule_budget.py` | 56 rules total → 9 kernel + 22 condense + 18 skill + 7 guideline |
|
|
146
146
|
| Determinism | `python3 scripts/measure_rule_budget.py --json` × 2 | byte-identical output |
|
|
147
|
-
| No-edits | `git diff --stat .agent-src.
|
|
147
|
+
| No-edits | `git diff --stat .agent-src.uncondensed/rules/` | clean (this is plan-only) |
|
|
148
148
|
|
|
149
149
|
## § 5 — Open questions
|
|
150
150
|
|
|
@@ -166,6 +166,6 @@ Reference / examples / mechanics. Body migrates into
|
|
|
166
166
|
spec; flagged by Council R2 to prevent inconsistent implementer
|
|
167
167
|
calls.
|
|
168
168
|
5. **`think-before-action` / `context-hygiene` / `augment-source-of-
|
|
169
|
-
truth` boundary.** Currently `
|
|
169
|
+
truth` boundary.** Currently `condense-and-keep` (auto). Council
|
|
170
170
|
did not flag for promotion; revisit only if the swap ADR (#1)
|
|
171
171
|
forces a re-projection.
|
|
@@ -6,7 +6,7 @@ keep-beta-until: 2026-08-12
|
|
|
6
6
|
# Rule-Interaction Matrix
|
|
7
7
|
|
|
8
8
|
> **Audience:** rule authors and reviewers — anyone editing
|
|
9
|
-
> `.agent-src.
|
|
9
|
+
> `.agent-src.uncondensed/rules/*.md` or proposing a new always-rule.
|
|
10
10
|
> **Authoritative source:** [`rule-interactions.yml`](rule-interactions.yml).
|
|
11
11
|
> **Linter:** `scripts/lint_rule_interactions.py` (run via `task lint-rule-interactions`).
|
|
12
12
|
|
|
@@ -73,8 +73,8 @@ The YAML uses six relation kinds. Definitions:
|
|
|
73
73
|
conflict: … # what triggers both
|
|
74
74
|
resolution: … # what the agent does
|
|
75
75
|
evidence:
|
|
76
|
-
- .agent-src.
|
|
77
|
-
- .agent-src.
|
|
76
|
+
- .agent-src.uncondensed/rules/non-destructive-by-default.md#the-iron-law
|
|
77
|
+
- .agent-src.uncondensed/rules/autonomous-execution.md#hard-floor--see-non-destructive-by-default
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
`rules: [a, b]` is ordered: `a` is senior (wins on conflict), `b` is
|
|
@@ -117,7 +117,7 @@ source of truth and weaken it. Canonical contracts:
|
|
|
117
117
|
| Decision-trace shape (what the engine emits per phase) | [`decision-trace-v1.md`](decision-trace-v1.md) |
|
|
118
118
|
| Memory contract (entries, scopes, retention) | [`agent-memory-contract.md`](agent-memory-contract.md) |
|
|
119
119
|
| Memory visibility in the trace (`affected` keys) | [`memory-visibility-v1.md`](memory-visibility-v1.md) |
|
|
120
|
-
| AI-Council consultation flow | [`../skills/ai-council/SKILL.md`](../../.agent-src.
|
|
120
|
+
| AI-Council consultation flow | [`../skills/ai-council/SKILL.md`](../../.agent-src.uncondensed/skills/ai-council/SKILL.md) |
|
|
121
121
|
|
|
122
122
|
Where an `always`-rule **does** interact with one of these surfaces
|
|
123
123
|
(e.g. `non-destructive-by-default` gating a memory-driven action), the
|