@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-surface-alt: #f4f4f5;--color-border: #e4e4e7;--color-border-strong:#a1a1aa;--color-text: #18181b;--color-text-muted: #52525b;--color-text-subtle: #71717a;--color-text-inverse: #fafafa;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-fg: #ffffff;--color-success: #16a34a;--color-warning: #d97706;--color-danger: #dc2626;--color-info: #0284c7;--color-focus-ring: #3b82f6;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "Menlo", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-regular:400;--font-weight-medium: 500;--font-weight-bold: 600;--line-height-tight: 1.25;--line-height-base: 1.5;--line-height-loose: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-focus:0 0 0 2px var(--color-focus-ring);--duration-fast: .12s;--duration-base: .2s;--duration-slow: .32s;--easing-standard: cubic-bezier(.2, 0, 0, 1);--layout-max-width: 48rem;--layout-side-padding: var(--space-6);--layout-content-gap: var(--space-4);--z-base: 0;--z-overlay: 10;--z-modal: 20;--z-toast: 30}[data-theme=dark]{--color-bg: #09090b;--color-surface: #18181b;--color-surface-alt: #27272a;--color-border: #3f3f46;--color-border-strong:#52525b;--color-text: #fafafa;--color-text-muted: #a1a1aa;--color-text-subtle: #71717a;--color-text-inverse: #18181b;--color-accent: #3b82f6;--color-accent-hover: #60a5fa;--color-accent-fg: #0b1220;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #38bdf8;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .6);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .7);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .8)}@media (prefers-reduced-motion: reduce){:root{--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--font-mono);font-size:var(--font-size-sm);background:var(--color-surface-alt);padding:0 var(--space-1);border-radius:var(--radius-sm)}#app{min-height:100vh}.ac-dryrun-banner{position:sticky;top:0;z-index:10;padding:var(--space-2) var(--space-4);background:var(--color-warning);color:#fff;border-bottom:1px solid #b45309;font-size:var(--font-size-sm);text-align:center}.ac-dryrun-banner strong{letter-spacing:.08em;text-transform:uppercase}.ac-topnav{position:sticky;top:0;z-index:9;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.ac-topnav__inner{max-width:var(--layout-max-width);margin:0 auto;padding:var(--space-3) var(--layout-side-padding);display:flex;align-items:center;gap:var(--space-4)}.ac-topnav__brand{display:flex;flex-direction:column;gap:0;margin-right:var(--space-2)}.ac-topnav__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);margin:0;line-height:1.2}.ac-topnav__subtitle{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.ac-topnav__tabs{display:flex;gap:var(--space-1);flex:1;flex-wrap:wrap}.ac-topnav__tab{appearance:none;background:transparent;border:1px solid transparent;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer}.ac-topnav__tab:hover{background:var(--color-surface-alt);color:var(--color-text)}.ac-topnav__tab--active{background:var(--color-surface-alt);color:var(--color-accent);border-color:var(--color-border)}.ac-page{max-width:var(--layout-max-width);margin:0 auto;padding:var(--space-8) var(--layout-side-padding);display:flex;flex-direction:column;gap:var(--layout-content-gap)}.ac-page__header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3)}.ac-page h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.ac-banner{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.ac-banner--error{border-left-color:var(--color-danger)}.ac-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6)}.ac-section__title{font-size:var(--font-size-lg);margin:0 0 var(--space-2)}.ac-section__description{color:var(--color-text-muted);margin:0 0 var(--space-4)}.ac-section__fields{display:flex;flex-direction:column;gap:var(--space-4)}.ac-field{display:flex;flex-direction:column;gap:var(--space-1)}.ac-field__label{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.ac-field__description{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.ac-field__error{color:var(--color-danger);font-size:var(--font-size-xs);margin:0;border-left:3px solid var(--color-danger);padding-left:var(--space-2)}.ac-input,.ac-textarea{font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);width:100%}.ac-input:focus,.ac-textarea:focus{outline:none;box-shadow:var(--shadow-focus);border-color:var(--color-focus-ring)}.ac-input[aria-invalid=true],.ac-textarea[aria-invalid=true]{border-color:var(--color-danger)}.ac-input[aria-invalid=true]:focus,.ac-textarea[aria-invalid=true]:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft, rgba(239, 68, 68, .18))}.ac-textarea{font-family:var(--font-mono);font-size:var(--font-size-sm);resize:vertical}.ac-toggle{display:inline-flex;gap:var(--space-2);align-items:center;cursor:pointer}.ac-radio-group{display:flex;flex-direction:column;gap:var(--space-2)}.ac-radio{display:inline-flex;gap:var(--space-2);align-items:center;cursor:pointer}.ac-field[data-invalid=true] .ac-toggle input[type=checkbox],.ac-field[data-invalid=true] .ac-radio input[type=radio]{outline:2px solid var(--color-danger);outline-offset:2px;border-radius:2px}.ac-button{font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer;transition:background var(--duration-fast) var(--easing-standard)}.ac-button:hover{background:var(--color-surface-alt)}.ac-button:disabled{opacity:.6;cursor:not-allowed}.ac-button--primary{background:var(--color-accent);color:var(--color-accent-fg);border-color:var(--color-accent)}.ac-button--primary:hover{background:var(--color-accent-hover)}.ac-button:focus{outline:none;box-shadow:var(--shadow-focus)}.ac-form{display:flex;flex-direction:column;gap:var(--space-5)}.ac-form__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.ac-modal{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.ac-modal__panel{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);max-width:32rem;width:90vw;max-height:80vh;overflow:auto;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-4)}.ac-modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.ac-diff{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.ac-diff li{display:grid;grid-template-columns:1fr auto auto auto;gap:var(--space-2);font-size:var(--font-size-sm);align-items:center}.ac-diff__before{color:var(--color-text-muted);text-decoration:line-through}.ac-diff__arrow{color:var(--color-text-subtle)}.ac-diff__after{color:var(--color-success);font-weight:var(--font-weight-medium)}.ac-page__progress{color:var(--color-text-muted);margin:0}.ac-wizard__header{display:flex;flex-direction:column;gap:var(--space-3);align-items:stretch}.ac-wizard__header-text{display:flex;flex-direction:column;gap:var(--space-1)}.ac-wizard__subtitle{color:var(--color-text-muted);margin:0}.ac-wizard__step-count{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.ac-wizard__progress{display:flex;gap:var(--space-1)}.ac-wizard__progress-segment{flex:1;height:4px;background:var(--color-border);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--easing-standard)}.ac-wizard__progress-segment--filled{background:var(--color-accent)}.ac-wizard__step{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.ac-wizard__nav{justify-content:space-between}.ac-wizard__nav .ac-button:first-child{margin-right:auto}.ac-wizard__skip{color:var(--color-text-muted)}.ac-wizard__review{display:flex;flex-direction:column;gap:var(--space-4)}.ac-wizard__review-nav{display:flex;flex-direction:column;gap:var(--space-2)}.ac-wizard__review-nav-label{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.ac-wizard__review-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.ac-wizard__review-nav-button{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--color-border);border-left:3px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.ac-wizard__review-nav-button:hover{background:var(--color-surface);border-color:var(--color-accent);border-left-color:var(--color-success)}.ac-wizard__review-nav-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ac-wizard__review-nav-index{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .375rem;background:var(--color-border);border-radius:999px;font-size:var(--font-size-xs);font-weight:600}.ac-wizard__review-nav-text{flex:1}.ac-wizard__review-nav-status{margin-left:auto;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:.125rem .5rem;border-radius:999px;white-space:nowrap}.ac-wizard__review-nav-status--changed{background:var(--color-success-soft, rgba(34, 197, 94, .12));color:var(--color-success)}.ac-wizard__review-nav-status--error{background:var(--color-danger-soft, rgba(239, 68, 68, .12));color:var(--color-danger)}.ac-wizard__review-nav-button--error{border-left-color:var(--color-danger)}.ac-wizard__review-nav-button--error:hover{border-color:var(--color-accent);border-left-color:var(--color-danger)}.ac-user-md-form{display:flex;flex-direction:column;gap:var(--space-5)}.ac-chip-list{list-style:none;margin:0 0 var(--space-2);padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.ac-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:999px;font-size:var(--font-size-sm)}.ac-chip__remove{appearance:none;background:transparent;border:0;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 var(--space-1)}.ac-chip__remove:hover:not(:disabled){color:var(--color-text)}.ac-chip__remove:disabled{opacity:.4;cursor:not-allowed}.ac-role-add{display:flex;gap:var(--space-2);align-items:center}.ac-role-add .ac-input{flex:1}.ac-workspace__grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr) minmax(260px,1fr);gap:var(--space-4);margin-top:var(--space-4)}@media (max-width: 900px){.ac-workspace__grid{grid-template-columns:1fr}}.ac-workspace__heading{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin:0 0 var(--space-2) 0;color:var(--color-text)}.ac-workspace__empty{color:var(--color-text-muted);font-size:var(--font-size-sm)}.ac-workspace__role-grid{display:flex;flex-direction:column;gap:var(--space-2)}.ac-workspace__role{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:var(--space-1);color:inherit;font:inherit}.ac-workspace__role:hover{border-color:var(--color-border-strong)}.ac-workspace__role--active{border-color:var(--color-primary, var(--color-text));background:var(--color-surface-alt)}.ac-workspace__role:focus-visible{outline:2px solid var(--color-primary, var(--color-text));outline-offset:2px}.ac-workspace__role-name{font-weight:var(--font-weight-medium)}.ac-workspace__role-status{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.ac-workspace__role-status[data-status=stable]{color:var(--color-success, #15803d)}.ac-workspace__role-status[data-status=beta]{color:var(--color-warn, #b45309)}.ac-workspace__role-status[data-status=draft]{color:var(--color-text-muted)}.ac-workspace__role-tagline{grid-column:1 / -1;color:var(--color-text-muted);font-size:var(--font-size-sm)}.ac-workspace__main{display:flex;flex-direction:column;gap:var(--space-4)}.ac-workspace__task-list,.ac-workspace__session-list,.ac-workspace__doc-list,.ac-workspace__skill-list,.ac-workspace__citation-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.ac-workspace__task{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface)}.ac-workspace__task-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.ac-workspace__task-name{font-weight:var(--font-weight-medium)}.ac-workspace__task-intent{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:var(--space-1) 0 0 0}.ac-workspace__task-prompt{display:inline-block;margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.ac-workspace__session{display:grid;grid-template-columns:minmax(120px,1fr) minmax(80px,1fr) 2fr;gap:var(--space-2);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.ac-workspace__session-id{font-family:var(--font-mono, monospace);color:var(--color-text-muted)}.ac-workspace__rail{display:flex;flex-direction:column;gap:var(--space-4)}.ac-workspace__citation{border-left:3px solid var(--color-border);padding:var(--space-1) var(--space-2)}.ac-workspace__citation-marker{font-weight:var(--font-weight-medium);margin-right:var(--space-1)}.ac-workspace__citation-source{text-decoration:none;color:var(--color-text);border-bottom:1px dotted var(--color-border-strong)}.ac-workspace__citation-source:hover{color:var(--color-primary, var(--color-text))}.ac-workspace__citation-pin{margin-left:var(--space-1);color:var(--color-warn, #b45309)}.ac-workspace__citation-excerpt{margin:var(--space-1) 0 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.ac-workspace__doc{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-2);align-items:center;font-size:var(--font-size-sm);padding:var(--space-2);border-radius:var(--radius-sm)}.ac-workspace__doc-type{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-1)}.ac-workspace__doc-time{font-family:var(--font-mono, monospace);color:var(--color-text-muted);font-size:var(--font-size-xs)}.ac-workspace__explain{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.ac-workspace__explain legend{padding:0 var(--space-1)}.ac-workspace__explain-option{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-1) 0}.ac-workspace__explain-hint{margin:var(--space-2) 0 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}
|
package/dist/ui/index.html
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
6
|
<meta name="robots" content="noindex" />
|
|
7
7
|
<title>agent-config</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-BDAhhpDV.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BXZILUxe.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
<main id="app"></main>
|
package/docs/MIGRATION.md
CHANGED
|
@@ -112,7 +112,7 @@ If your project commits state files (uncommon but supported):
|
|
|
112
112
|
- Stability level: `work_engine` is **beta** — see
|
|
113
113
|
[`docs/contracts/STABILITY.md`](contracts/STABILITY.md).
|
|
114
114
|
- Source of truth for the migrator:
|
|
115
|
-
[`templates/scripts/work_engine/migration/v0_to_v1.py`](../.agent-src.
|
|
115
|
+
[`templates/scripts/work_engine/migration/v0_to_v1.py`](../.agent-src.uncondensed/templates/scripts/work_engine/migration/v0_to_v1.py).
|
|
116
116
|
|
|
117
117
|
## Older versions
|
|
118
118
|
|
|
@@ -63,7 +63,7 @@ Refuse to compose the turn-start preamble in the kernel-rule loader.
|
|
|
63
63
|
|
|
64
64
|
**Why rejected:** the kernel-rule loader is a static-projection step
|
|
65
65
|
(`scripts/sync.py` writes `.agent-src/rules/` from
|
|
66
|
-
`.agent-src.
|
|
66
|
+
`.agent-src.uncondensed/`). There is no live loader at turn-start to
|
|
67
67
|
hook — Claude / Augment / etc. read the projected files directly. A
|
|
68
68
|
"refusal" would have to be baked into the file content, which mixes
|
|
69
69
|
policy enforcement with documentation. Out of scope.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## Context
|
|
8
8
|
|
|
9
|
-
Every rule in `.agent-src.
|
|
9
|
+
Every rule in `.agent-src.uncondensed/rules/` loads into a host
|
|
10
10
|
agent's system prompt. Loading them all is wasteful (the workspace
|
|
11
11
|
budget is finite) and noisy (irrelevant rules degrade attention).
|
|
12
12
|
The kernel-membership work
|
|
@@ -47,7 +47,7 @@ unconditional by definition.
|
|
|
47
47
|
|
|
48
48
|
### Compilation pipeline
|
|
49
49
|
|
|
50
|
-
1. `scripts/sync.py` projects `.agent-src.
|
|
50
|
+
1. `scripts/sync.py` projects `.agent-src.uncondensed/` → `.agent-src/`.
|
|
51
51
|
2. `scripts/compile_router.py` walks rule frontmatter, validates the
|
|
52
52
|
`routes_to:` targets exist on disk, writes `dist/router.json`.
|
|
53
53
|
3. `scripts/skill_linter.py` runs the bidirectional check: every
|
|
@@ -66,8 +66,8 @@ enforced by the linter.
|
|
|
66
66
|
|
|
67
67
|
All rules `always`-load.
|
|
68
68
|
|
|
69
|
-
**Why rejected:** the rules tree is ~70 entries; even with
|
|
70
|
-
|
|
69
|
+
**Why rejected:** the rules tree is ~70 entries; even with telegraph
|
|
70
|
+
condensation the workspace budget blows past the kernel cap. Static
|
|
71
71
|
loading wastes attention on rules irrelevant to the current turn.
|
|
72
72
|
|
|
73
73
|
### Alt 2 — Pure-runtime semantic search (rejected)
|
|
@@ -49,7 +49,7 @@ threshold is documented inline in
|
|
|
49
49
|
- `task lint-skills` — runs `skill_linter.py` against all skills + rules.
|
|
50
50
|
- `task ci` — wraps `lint-skills` plus router + smoke smokes.
|
|
51
51
|
- Smoke contract `scripts/smoke/schema.sh` — fast random-sample check
|
|
52
|
-
for PRs touching `.agent-src.
|
|
52
|
+
for PRs touching `.agent-src.uncondensed/**` (see
|
|
53
53
|
[`docs/contracts/smoke-contracts.md`](../../contracts/smoke-contracts.md)).
|
|
54
54
|
|
|
55
55
|
## Considered alternatives
|
|
@@ -25,10 +25,10 @@ declaration as its last stdout line.** Scripts live under
|
|
|
25
25
|
|
|
26
26
|
| Tier | Script | Validates | Path-trigger globs |
|
|
27
27
|
|---|---|---|---|
|
|
28
|
-
| Kernel | [`kernel.sh`](../../../scripts/smoke/kernel.sh) | 9 kernel rules present, char-budget respected | `.agent-src.
|
|
29
|
-
| Router | [`router.sh`](../../../scripts/smoke/router.sh) | `dist/router.json` compiles, all `routes_to:` resolve | `dist/router.json`, `.agent-src.
|
|
30
|
-
| Schema | [`schema.sh`](../../../scripts/smoke/schema.sh) | Random skill / rule sample validates against JSON Schema | `scripts/schemas/**`, `.agent-src.
|
|
31
|
-
| Skills | [`skills.sh`](../../../scripts/smoke/skills.sh) | 5 random skills pass frontmatter + `name == dir` | `.agent-src.
|
|
28
|
+
| Kernel | [`kernel.sh`](../../../scripts/smoke/kernel.sh) | 9 kernel rules present, char-budget respected | `.agent-src.uncondensed/rules/**`, `docs/contracts/kernel-membership.md` |
|
|
29
|
+
| Router | [`router.sh`](../../../scripts/smoke/router.sh) | `dist/router.json` compiles, all `routes_to:` resolve | `dist/router.json`, `.agent-src.uncondensed/rules/**` |
|
|
30
|
+
| Schema | [`schema.sh`](../../../scripts/smoke/schema.sh) | Random skill / rule sample validates against JSON Schema | `scripts/schemas/**`, `.agent-src.uncondensed/{rules,skills}/**` |
|
|
31
|
+
| Skills | [`skills.sh`](../../../scripts/smoke/skills.sh) | 5 random skills pass frontmatter + `name == dir` | `.agent-src.uncondensed/skills/**` |
|
|
32
32
|
|
|
33
33
|
### Runtime contract
|
|
34
34
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
# ADR 0001 —
|
|
1
|
+
# ADR 0001 — Telegraph condensation default stays OFF until `task bench`
|
|
2
2
|
|
|
3
|
-
> Area: `
|
|
3
|
+
> Area: `telegraph` · Status: accepted · Date: 2026-05-16 · Type: retrospective
|
|
4
4
|
> Roadmap: `agents/roadmaps/step-11-ruflo-parity.md` Phase 4 Step 3
|
|
5
5
|
> Supersedes: —
|
|
6
6
|
|
|
7
7
|
## Context
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Telegraph-speak is a turn-time condensation dialect that trades English
|
|
10
10
|
grammar for tokens. The dialect is documented in
|
|
11
|
-
[`
|
|
11
|
+
[`telegraph-speak`](../../../.agent-src.uncondensed/rules/telegraph-speak.md);
|
|
12
12
|
the question this ADR records is **whether the dialect should default
|
|
13
13
|
ON for all consumers**.
|
|
14
14
|
|
|
@@ -20,14 +20,14 @@ nobody has measured against the real benchmark corpus.
|
|
|
20
20
|
|
|
21
21
|
## Decision
|
|
22
22
|
|
|
23
|
-
**`
|
|
23
|
+
**`telegraph.speak_scope` defaults `off`**. Carve-outs (security ·
|
|
24
24
|
destructive · multi-step · code blocks · paths · numbered options ·
|
|
25
25
|
Iron-Law markers) stay in the rule body so the dialect is **defined**
|
|
26
26
|
even when **inactive**. The default flips only when `task bench`
|
|
27
27
|
produces measured win/loss numbers against the locked 25-prompt corpus.
|
|
28
28
|
|
|
29
29
|
Authoritative kill-criterion:
|
|
30
|
-
[`docs/contracts/
|
|
30
|
+
[`docs/contracts/condensation-default-kill-criterion.md`](../../contracts/condensation-default-kill-criterion.md)
|
|
31
31
|
§ Rule lines 8–11.
|
|
32
32
|
|
|
33
33
|
### Decision owner
|
|
@@ -41,7 +41,7 @@ defined in the kill-criterion.
|
|
|
41
41
|
|
|
42
42
|
1. ≥ 30 % token reduction averaged across the 25-prompt corpus.
|
|
43
43
|
2. ≤ 5 % regression on the readability score from the same run.
|
|
44
|
-
3. Reversibility check passes (
|
|
44
|
+
3. Reversibility check passes (telegraph → English round-trip ≥ 95 %
|
|
45
45
|
semantic preservation per the bench scorer).
|
|
46
46
|
|
|
47
47
|
Any gate fails → default stays OFF. Re-bench after the next dialect
|
|
@@ -86,8 +86,8 @@ either ships default-on or gets deprecated. No middle state.
|
|
|
86
86
|
|
|
87
87
|
## References
|
|
88
88
|
|
|
89
|
-
- [`docs/contracts/
|
|
90
|
-
- [`.agent-src.
|
|
89
|
+
- [`docs/contracts/condensation-default-kill-criterion.md`](../../contracts/condensation-default-kill-criterion.md) — kill-criterion contract.
|
|
90
|
+
- [`.agent-src.uncondensed/rules/telegraph-speak.md`](../../../.agent-src.uncondensed/rules/telegraph-speak.md) — dialect definition.
|
|
91
91
|
- [`agents/roadmaps/step-4-measurement-and-benchmark.md`](../../../agents/roadmaps/step-4-measurement-and-benchmark.md) — bench owner.
|
|
92
92
|
- [`agents/evidence/audits/2026-05-14-north-star/council-synthesis.md`](../../../agents/evidence/audits/2026-05-14-north-star/council-synthesis.md) § 7 — council split.
|
|
93
93
|
- [`agents/roadmaps/step-11-ruflo-parity.md`](../../../agents/roadmaps/step-11-ruflo-parity.md) Phase 4 Step 3 — origin.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# ADRs — `telegraph`
|
|
2
|
+
|
|
3
|
+
> Telegraph-speak condensation, decondensation, reversibility guards.
|
|
4
|
+
|
|
5
|
+
Contract: [`docs/contracts/condensation-default-kill-criterion.md`](../../../docs/contracts/condensation-default-kill-criterion.md).
|
|
6
|
+
|
|
7
|
+
| # | Title | Status | Date | Supersedes |
|
|
8
|
+
|---|---|---|---|---|
|
|
9
|
+
| [0001](0001-default-off-until-bench.md) | Default Off Until Bench | — | — | — |
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
## Input → Transform → Output
|
|
7
7
|
|
|
8
8
|
```
|
|
9
|
-
.agent-src/** ←
|
|
10
|
-
↓ scripts/
|
|
9
|
+
.agent-src/** ← Condensed payload (shipped in @event4u/agent-config)
|
|
10
|
+
↓ scripts/condense.py:project_to_augment()
|
|
11
11
|
.augment/** ← Local projection (gitignored on consumer side)
|
|
12
12
|
rules/ ← copies (Augment historically does not load symlinked rules)
|
|
13
13
|
skills/ commands/ contexts/
|
|
@@ -34,7 +34,7 @@ After projection, those paths resolve through the symlinks in
|
|
|
34
34
|
| Project self-projection | `task sync` (`project_to_augment()` step) — [`taskfiles/content.yml:4`](../../taskfiles/content.yml) |
|
|
35
35
|
| Standalone project-augment | `task project-augment` — [`taskfiles/content.yml:23`](../../taskfiles/content.yml) |
|
|
36
36
|
| Consumer install | `scripts/install.sh` (delegates to `scripts/install.py`) |
|
|
37
|
-
| Direct script | `python3 scripts/
|
|
37
|
+
| Direct script | `python3 scripts/condense.py --project-augment` |
|
|
38
38
|
|
|
39
39
|
## Invariants
|
|
40
40
|
|
|
@@ -59,7 +59,7 @@ After projection, those paths resolve through the symlinks in
|
|
|
59
59
|
|
|
60
60
|
## Proving the pipeline
|
|
61
61
|
|
|
62
|
-
- [`tests/
|
|
62
|
+
- [`tests/test_condense.py`](../../tests/test_condense.py) §
|
|
63
63
|
`test_project_to_augment_rules_mode_toggle` and surrounding cases
|
|
64
64
|
— exercises both copy-mode and symlink-mode for rules; verifies
|
|
65
65
|
symlink targets for skills / commands / contexts.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
## Input → Transform → Output
|
|
9
9
|
|
|
10
10
|
```
|
|
11
|
-
.agent-src/skills/<id>/SKILL.md ←
|
|
11
|
+
.agent-src/skills/<id>/SKILL.md ← Condensed skill (+ supporting assets)
|
|
12
12
|
↓ scripts/build_cloud_bundle.py
|
|
13
13
|
dist/cloud/<skill>.zip ← Anthropic Skills bundle (Claude.ai Web / Skills API)
|
|
14
14
|
```
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
## Surface
|
|
12
12
|
|
|
13
|
-
`/onboard` lives at [`.agent-src.
|
|
13
|
+
`/onboard` lives at [`.agent-src.uncondensed/commands/onboard.md`](../../.agent-src.uncondensed/commands/onboard.md)
|
|
14
14
|
(canonical source) and is triggered by the
|
|
15
15
|
[`onboarding-gate`](../../.agent-src/rules/onboarding-gate.md) rule on
|
|
16
16
|
the first turn when `onboarding.onboarded == false` in
|
|
@@ -75,7 +75,7 @@ onboarding:
|
|
|
75
75
|
User-global file (step 9, opt-in): the six whitelisted keys in
|
|
76
76
|
[`scripts/_lib/agent_settings.py`](../../scripts/_lib/agent_settings.py)
|
|
77
77
|
— `name`, `ide`, `cost_profile`, `personal.bot_icon`,
|
|
78
|
-
`personal.autonomy`, `
|
|
78
|
+
`personal.autonomy`, `telegraph.speak_scope`.
|
|
79
79
|
|
|
80
80
|
## Iron Laws today
|
|
81
81
|
|
|
@@ -119,7 +119,7 @@ The wizard MUST:
|
|
|
119
119
|
|
|
120
120
|
## See also
|
|
121
121
|
|
|
122
|
-
- [`/onboard` command](../../.agent-src.
|
|
122
|
+
- [`/onboard` command](../../.agent-src.uncondensed/commands/onboard.md) — canonical source.
|
|
123
123
|
- [`onboarding-gate`](../../.agent-src/rules/onboarding-gate.md) — trigger rule.
|
|
124
124
|
- [`ADR-010`](../decisions/ADR-010-profile-pack-preset-boundary.md) — boundary the wizard must respect.
|
|
125
125
|
- [`config-presets.md`](../contracts/config-presets.md) — preset axis the wizard writes.
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
## Input → Transform → Output
|
|
8
8
|
|
|
9
9
|
```
|
|
10
|
-
.agent-src/** ←
|
|
11
|
-
↓ scripts/
|
|
10
|
+
.agent-src/** ← Condensed payload
|
|
11
|
+
↓ scripts/condense.py --generate-tools
|
|
12
12
|
.claude/ .cursor/ ← Claude Code, Cursor (rules + skills)
|
|
13
13
|
.clinerules/ .windsurfrules ← Cline (rules dir), Windsurf (concatenated file)
|
|
14
14
|
GEMINI.md ← Gemini CLI (symlink → AGENTS.md)
|
|
15
15
|
.github/copilot-instructions.md ← Copilot Chat + PR review (already shipped)
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
Per-tool method ([`scripts/
|
|
18
|
+
Per-tool method ([`scripts/condense.py:_filter_tool_dirs`](../../scripts/condense.py)):
|
|
19
19
|
|
|
20
20
|
| Tool | Surface | Method | Coverage |
|
|
21
21
|
|---|---|---|---|
|
|
@@ -37,7 +37,7 @@ removes `.cursor/` on next `task generate-tools`.
|
|
|
37
37
|
|---|---|
|
|
38
38
|
| Regenerate all enabled | `task generate-tools` ([`taskfiles/content.yml:63`](../../taskfiles/content.yml)) |
|
|
39
39
|
| Clean output | `task clean-tools` ([`taskfiles/content.yml:69`](../../taskfiles/content.yml)) |
|
|
40
|
-
| Direct script | `python3 scripts/
|
|
40
|
+
| Direct script | `python3 scripts/condense.py --generate-tools` |
|
|
41
41
|
| Consumer install | `scripts/install.sh` (calls `--generate-tools` after `--project-augment`) |
|
|
42
42
|
|
|
43
43
|
## Invariants
|
|
@@ -64,15 +64,15 @@ removes `.cursor/` on next `task generate-tools`.
|
|
|
64
64
|
## Per-tool projection size
|
|
65
65
|
|
|
66
66
|
The previous "0.45 % reduction" headline was a wrong-boundary
|
|
67
|
-
measurement: that figure compares `.agent-src.
|
|
67
|
+
measurement: that figure compares `.agent-src.uncondensed/` to
|
|
68
68
|
`.agent-src/`, but the pipeline's claimed function is *projection*, not
|
|
69
|
-
byte
|
|
69
|
+
byte condensation. The table below is produced by
|
|
70
70
|
[`scripts/measure_projection_bytes.py --regenerate`](../../scripts/measure_projection_bytes.py)
|
|
71
|
-
with every tool ID temporarily enabled in
|
|
71
|
+
with every tool ID temporarily enabled in `agents/.agent-tools.yml`.
|
|
72
72
|
|
|
73
73
|
| Surface | Files | Symlinks | Bytes materialized | Method |
|
|
74
74
|
|---|---:|---:|---:|---|
|
|
75
|
-
| `.agent-src.
|
|
75
|
+
| `.agent-src.uncondensed/` | 596 | 0 | 3,253,997 | verbose source (input) |
|
|
76
76
|
| `.agent-src/` | 596 | 0 | 3,242,579 | source projection (path-rewrite + `.npmignore`) |
|
|
77
77
|
| `.augment/` | 61 | 7 | 136,146 | Augment Code — copies (rules) + symlinks (skills/cmds) |
|
|
78
78
|
| `.claude/` | 0 | 395 | 0 | Claude Code — pure symlinks |
|
|
@@ -116,8 +116,8 @@ python3 scripts/measure_projection_bytes.py --json # CI-friendly
|
|
|
116
116
|
- [`tests/test_modern_editor_formats.py`](../../tests/test_modern_editor_formats.py)
|
|
117
117
|
— verifies Claude / Cursor receive modern format with correct
|
|
118
118
|
frontmatter; runs only when `task generate-tools` has been executed.
|
|
119
|
-
- [`tests/
|
|
120
|
-
the shared
|
|
119
|
+
- [`tests/test_condense.py`](../../tests/test_condense.py) — covers
|
|
120
|
+
the shared condense / generate-tools entrypoint and `_filter_tool_dirs`.
|
|
121
121
|
- [`scripts/measure_projection_bytes.py`](../../scripts/measure_projection_bytes.py)
|
|
122
122
|
— per-tool byte / file / symlink count; the per-tool-size table above
|
|
123
123
|
is its output.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> **Scope:** transform verbose authoring source into the deterministic
|
|
4
4
|
> distribution payload that ships in the npm package. The pipeline does
|
|
5
5
|
> path-rewriting, `.npmignore`-style filtering, hash-tracking, and (on
|
|
6
|
-
> selected files)
|
|
6
|
+
> selected files) telegraph-style prose condensation. The *primary* function
|
|
7
7
|
> is the source-to-dist projection itself; raw byte reduction is small
|
|
8
8
|
> (~0.35 % on the source/dist boundary: 3,253,997 B → 3,242,579 B across
|
|
9
9
|
> 596 files) because most files are 1:1-projected with only frontmatter
|
|
@@ -14,34 +14,34 @@
|
|
|
14
14
|
> for the table produced by [`scripts/measure_projection_bytes.py`](../../scripts/measure_projection_bytes.py).
|
|
15
15
|
|
|
16
16
|
> **Historical note.** This pipeline was previously labelled
|
|
17
|
-
> "
|
|
17
|
+
> "Condensation". Renamed in the v2.10.0 feedback follow-up after the
|
|
18
18
|
> council pointed out that the dominant function is projection, not
|
|
19
|
-
> byte
|
|
20
|
-
> `scripts/
|
|
21
|
-
> refactor; the prose-
|
|
22
|
-
> command for
|
|
19
|
+
> byte condensation. The script names (`scripts/condense.py`,
|
|
20
|
+
> `scripts/condense.sh`) are kept for now to avoid a large blast-radius
|
|
21
|
+
> refactor; the prose-condensation sub-step (and the `/condense` slash
|
|
22
|
+
> command for telegraph text condensation) still earn the legacy name.
|
|
23
23
|
|
|
24
24
|
## Input → Transform → Output
|
|
25
25
|
|
|
26
26
|
```
|
|
27
|
-
.agent-src.
|
|
28
|
-
↓ scripts/
|
|
29
|
-
.agent-src/** ←
|
|
27
|
+
.agent-src.uncondensed/** ← Source of truth (verbose, human-readable)
|
|
28
|
+
↓ scripts/condense.py + scripts/condense.sh (--sync)
|
|
29
|
+
.agent-src/** ← Condensed, hash-tracked, shipped in @event4u/agent-config
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
| Layer | Source | Output |
|
|
33
33
|
|---|---|---|
|
|
34
|
-
| Skills | `.agent-src.
|
|
35
|
-
| Rules | `.agent-src.
|
|
36
|
-
| Commands | `.agent-src.
|
|
37
|
-
| Personas, contexts, templates | `.agent-src.
|
|
34
|
+
| Skills | `.agent-src.uncondensed/skills/<id>/SKILL.md` (+ assets) | `.agent-src/skills/<id>/SKILL.md` |
|
|
35
|
+
| Rules | `.agent-src.uncondensed/rules/<name>.md` | `.agent-src/rules/<name>.md` |
|
|
36
|
+
| Commands | `.agent-src.uncondensed/commands/**` | `.agent-src/commands/**` |
|
|
37
|
+
| Personas, contexts, templates | `.agent-src.uncondensed/<dir>/**` | `.agent-src/<dir>/**` |
|
|
38
38
|
|
|
39
|
-
The path rewriter ([`scripts/
|
|
39
|
+
The path rewriter ([`scripts/condense.py:157`](../../scripts/condense.py)
|
|
40
40
|
`apply_path_rewriter()`) converts logical names in source frontmatter
|
|
41
41
|
(`contexts/execution/foo.md`) into the relative form expected from
|
|
42
42
|
`.agent-src/rules/` (`../contexts/execution/foo.md`). Hardcoding
|
|
43
|
-
`.agent-src.
|
|
44
|
-
[`scripts/
|
|
43
|
+
`.agent-src.uncondensed/` in source is a CI failure — caught by
|
|
44
|
+
[`scripts/check_condensed_paths.py`](../../scripts/check_condensed_paths.py).
|
|
45
45
|
|
|
46
46
|
## Entry points
|
|
47
47
|
|
|
@@ -51,35 +51,35 @@ The path rewriter ([`scripts/compress.py:157`](../../scripts/compress.py)
|
|
|
51
51
|
| Sync drift check | `task sync-check` ([`taskfiles/content.yml:38`](../../taskfiles/content.yml)) |
|
|
52
52
|
| Hash drift check | `task sync-check-hashes` ([`taskfiles/content.yml:43`](../../taskfiles/content.yml)) |
|
|
53
53
|
| Single file | `task sync-mark-done -- <path>` |
|
|
54
|
-
| Direct script | `bash scripts/
|
|
54
|
+
| Direct script | `bash scripts/condense.sh --sync` |
|
|
55
55
|
|
|
56
56
|
## Invariants
|
|
57
57
|
|
|
58
58
|
1. **Determinism** — same input must produce identical bytes in
|
|
59
59
|
`.agent-src/`. CI enforces via `task sync-check` (no output diff
|
|
60
60
|
permitted on a clean checkout).
|
|
61
|
-
2. **Hash tracking** — every
|
|
62
|
-
in `.agent-src/.
|
|
61
|
+
2. **Hash tracking** — every condensed file's source-hash is stored
|
|
62
|
+
in `.agent-src/.condensation-hashes.json`; stale hashes are caught
|
|
63
63
|
by `task sync-check-hashes`.
|
|
64
|
-
3. **No source-side leakage** — `.agent-src.
|
|
65
|
-
appear anywhere in
|
|
66
|
-
4. **Frontmatter preserved** — YAML frontmatter survives
|
|
64
|
+
3. **No source-side leakage** — `.agent-src.uncondensed/` must not
|
|
65
|
+
appear anywhere in condensed output (frontmatter, body, includes).
|
|
66
|
+
4. **Frontmatter preserved** — YAML frontmatter survives condensation
|
|
67
67
|
unchanged except for the path rewriter on `load_context:` entries.
|
|
68
68
|
|
|
69
69
|
## Failure modes
|
|
70
70
|
|
|
71
71
|
| Symptom | Cause | Fix |
|
|
72
72
|
|---|---|---|
|
|
73
|
-
| `task sync-check` fails on clean tree | source edited but not re-
|
|
74
|
-
| `check-
|
|
73
|
+
| `task sync-check` fails on clean tree | source edited but not re-condensed | `task sync` |
|
|
74
|
+
| `check-condensed-paths` fails | `.agent-src.uncondensed/` substring leaked into condensed output | re-author source, re-run `task sync` |
|
|
75
75
|
| Hash drift on unchanged file | concurrent edits / merge artefact | `task sync-clean-hashes && task sync` |
|
|
76
76
|
| Path rewriter mangles a link | logical name collision with a real relative path | declare `validator_ignore:` in rule frontmatter |
|
|
77
77
|
|
|
78
78
|
## Proving the pipeline
|
|
79
79
|
|
|
80
|
-
- [`tests/
|
|
81
|
-
|
|
82
|
-
- [`tests/
|
|
80
|
+
- [`tests/test_condense.py`](../../tests/test_condense.py) — end-to-end
|
|
81
|
+
condensation, hash invariants, path rewriter.
|
|
82
|
+
- [`tests/test_condense_paths.py`](../../tests/test_condense_paths.py)
|
|
83
83
|
— path-rewriter edge cases and forbidden-substring detection.
|
|
84
84
|
|
|
85
85
|
← [Architecture overview](../architecture.md)
|
package/docs/architecture.md
CHANGED
|
@@ -53,7 +53,7 @@ and cites the script, Taskfile target, and test file that prove
|
|
|
53
53
|
the pipeline.
|
|
54
54
|
|
|
55
55
|
```
|
|
56
|
-
.agent-src.
|
|
56
|
+
.agent-src.uncondensed/ ──Pipeline A──▶ .agent-src/
|
|
57
57
|
│
|
|
58
58
|
├──Pipeline B──▶ .augment/
|
|
59
59
|
│
|
|
@@ -75,15 +75,19 @@ The drift check
|
|
|
75
75
|
fails if any of the four sub-pages exists without its cited script /
|
|
76
76
|
Taskfile target — or vice versa.
|
|
77
77
|
|
|
78
|
+
### Canonical distribution channel per AI tool
|
|
79
|
+
|
|
80
|
+
For every tool the package supports, **filesystem** is the canonical channel that the consumer installer (`scripts/install.sh`) writes — see [`contracts/skill-distribution-channels.md`](contracts/skill-distribution-channels.md). Pipeline C above always writes the filesystem trees (`.claude/skills/`, `.cursor/rules/`, `.clinerules/`, `.windsurfrules`, etc.) into the consumer project. Plugin manifests at the package source (`.claude-plugin/marketplace.json`, `.augment-plugin/marketplace.json`) are preserved for users who install via the host's plugin registry, but the installer does **not** project a second registry into consumer projects. Users on older harnesses that require both channels opt in with `bash scripts/install.sh --legacy-both`. Regression test: [`tests/test_canonical_distribution.py`](../tests/test_canonical_distribution.py).
|
|
81
|
+
|
|
78
82
|
Cross-references inside `.agent-src/rules/*.md` are written
|
|
79
83
|
**relative to `.agent-src/rules/`** (e.g. `../contexts/execution/foo.md`,
|
|
80
84
|
`../docs/guidelines/agent-infra/foo.md`). Source files under
|
|
81
|
-
`.agent-src.
|
|
85
|
+
`.agent-src.uncondensed/rules/` use **logical names** without a
|
|
82
86
|
directory prefix (e.g. `contexts/execution/foo.md`); the
|
|
83
|
-
|
|
87
|
+
condense-time path rewriter in `scripts/condense.py` translates
|
|
84
88
|
them to the relative form when writing into `.agent-src/`. Hardcoding
|
|
85
|
-
`.agent-src.
|
|
86
|
-
forbidden and caught by `scripts/
|
|
89
|
+
`.agent-src.uncondensed/` in source frontmatter or body links is
|
|
90
|
+
forbidden and caught by `scripts/check_condensed_paths.py`.
|
|
87
91
|
|
|
88
92
|
### Distribution model — npx-only + version-pin governance
|
|
89
93
|
|
|
@@ -142,9 +146,9 @@ note, package-internal path-swap, description budget, and the
|
|
|
142
146
|
|
|
143
147
|
| Layer | Count | Purpose |
|
|
144
148
|
|---|---|---|
|
|
145
|
-
| **Skills** |
|
|
146
|
-
| **Rules** |
|
|
147
|
-
| **Commands** |
|
|
149
|
+
| **Skills** | 219 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
|
|
150
|
+
| **Rules** | 77 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
|
|
151
|
+
| **Commands** | 135 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/condense`, … |
|
|
148
152
|
| **Guidelines** | 73 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
|
|
149
153
|
| **Templates** | 7 | Scaffolds for features, roadmaps, contexts, skills, overrides |
|
|
150
154
|
| **Contexts** | 5 | Shared knowledge about the system itself |
|
|
@@ -219,7 +223,7 @@ Planned scope: `php` / `node` handlers, tool-registry wiring for
|
|
|
219
223
|
> `refine → score → plan → implement → test → verify → report` loop,
|
|
220
224
|
> persists state in `.work-state.json`, and routes UI-shaped work
|
|
221
225
|
> through the product UI track. Lives at
|
|
222
|
-
> [`templates/scripts/work_engine/`](../.agent-src.
|
|
226
|
+
> [`templates/scripts/work_engine/`](../.agent-src.uncondensed/templates/scripts/work_engine/);
|
|
223
227
|
> shipped to consumer projects via `scripts/install.py`.
|
|
224
228
|
|
|
225
229
|
> **Status: beta.** The contract (directive sets, halt budgets,
|
|
@@ -273,7 +277,7 @@ The Runtime Dispatcher and Tool Adapters activate only under the
|
|
|
273
277
|
cost profile. The default `minimal` profile ships rules, skills, and
|
|
274
278
|
commands and nothing else. All settings and their profile defaults
|
|
275
279
|
are documented in
|
|
276
|
-
[`.agent-src.
|
|
280
|
+
[`.agent-src.uncondensed/templates/agent-settings.md`](../.agent-src.uncondensed/templates/agent-settings.md).
|
|
277
281
|
|
|
278
282
|
---
|
|
279
283
|
|
|
@@ -322,15 +326,15 @@ file. The first 4000 characters are the budget; keep
|
|
|
322
326
|
high-priority rules (Scope Control, Known False Positives) up top.
|
|
323
327
|
|
|
324
328
|
Installed (copy-if-missing) by `scripts/install.sh` from
|
|
325
|
-
`.agent-src.
|
|
329
|
+
`.agent-src.uncondensed/templates/`. Consumers can edit it freely;
|
|
326
330
|
the installer never overwrites.
|
|
327
331
|
|
|
328
|
-
The mechanical floor is `scripts/
|
|
329
|
-
`task ci` as `check-
|
|
332
|
+
The mechanical floor is `scripts/check_condensed_paths.py`, wired into
|
|
333
|
+
`task ci` as `check-condensed-paths`. It validates `.agent-src/rules/*.md`:
|
|
330
334
|
|
|
331
335
|
- `load_context:` entries must resolve to existing files.
|
|
332
|
-
- Forbidden substrings (`.agent-src.
|
|
333
|
-
`../../agents/`) must not survive
|
|
336
|
+
- Forbidden substrings (`.agent-src.uncondensed/`, `../../docs/`,
|
|
337
|
+
`../../agents/`) must not survive condensation — unless declared
|
|
334
338
|
per-rule via the `validator_ignore:` frontmatter primitive (audited).
|
|
335
339
|
- Body links to `../docs/guidelines/...` are intentionally **not**
|
|
336
340
|
checked (they are package-internal reference material, silenced by
|
|
@@ -108,7 +108,7 @@ Tests: 3603 (+26 since 2.8.0)
|
|
|
108
108
|
* **index:** regenerate after positioning → positioning-strategy rename ([9f42d91](https://github.com/event4u-app/agent-config/commit/9f42d9148f196d30635ae8288e9bba0feda66067))
|
|
109
109
|
* **changelog:** split era 2.2.x → pre-2.7.0 ([7158c30](https://github.com/event4u-app/agent-config/commit/7158c30db391f3464fd74f3c7e193698b869b82d))
|
|
110
110
|
* **generated:** refresh agents/index.md and docs/catalog.md for GTM skills/personas ([649b86e](https://github.com/event4u-app/agent-config/commit/649b86e287ecef7d0d28ce23ed2b0cbf43f2adc6))
|
|
111
|
-
* **generated:** regenerate .claude/ tool output + marketplace +
|
|
111
|
+
* **generated:** regenerate .claude/ tool output + marketplace + condensation hashes for GTM skills/personas ([bb7d56c](https://github.com/event4u-app/agent-config/commit/bb7d56cd8e7cafb9037a4e6ec0078e56154f9d5c))
|
|
112
112
|
* **roadmap:** archive road-to-gtm-and-growth — G+H+I all shipped ([dc48cdd](https://github.com/event4u-app/agent-config/commit/dc48cdd29e236c745e98b5f5fb8b45fa716a4c07))
|
|
113
113
|
|
|
114
114
|
Tests: 3577 (+11 since 2.7.0)
|
|
@@ -133,7 +133,7 @@ Tests: 3577 (+11 since 2.7.0)
|
|
|
133
133
|
|
|
134
134
|
### Chores
|
|
135
135
|
|
|
136
|
-
* **ci:** refresh
|
|
136
|
+
* **ci:** refresh condensation hashes after cc0102fe tiering pass ([ca06729](https://github.com/event4u-app/agent-config/commit/ca06729d03bb8bd8d1536b7aecef1d1b134d8333))
|
|
137
137
|
* finalize roadmaps ([bb156ea](https://github.com/event4u-app/agent-config/commit/bb156ea4f52741d511c3e54cd87e3bcab2fbf107))
|
|
138
138
|
* **roadmap:** close road-to-distribution-maturity, archive ([d48e5d6](https://github.com/event4u-app/agent-config/commit/d48e5d64f9396f6b75b47bf336fd6ac129c8e254))
|
|
139
139
|
* **changelog:** split into eras, archive pre-2.2.0 entries ([e54c5cb](https://github.com/event4u-app/agent-config/commit/e54c5cbf0222de7f0f4c84a379118f4ea30b5a07))
|
|
@@ -58,11 +58,11 @@
|
|
|
58
58
|
|
|
59
59
|
* **council:** allowlist audit-* dirs in layout linter ([09d6900](https://github.com/event4u-app/agent-config/commit/09d69003204c2a86a2cc9f1193b8c33145d856b4))
|
|
60
60
|
* **rules:** align validator_ignore reason between source and projection ([89b7fac](https://github.com/event4u-app/agent-config/commit/89b7facf48d2a4fe39558028bdf15ff40d98c59a))
|
|
61
|
-
* **rules:** allowlist .agent-src.
|
|
61
|
+
* **rules:** allowlist .agent-src.uncondensed/ back-pointer in fast-path-marker ([e74383b](https://github.com/event4u-app/agent-config/commit/e74383b62253ab990e938d1dfdc631d20db94181))
|
|
62
62
|
* **ask-when-uncertain:** trim AI Council prose to clear 12% concentration cap ([59abb4a](https://github.com/event4u-app/agent-config/commit/59abb4a3f827b4f8ecb24b63568b057462ae7649))
|
|
63
63
|
* **ai-council:** mark skill cloud-safe with degrade tier ([3c568e6](https://github.com/event4u-app/agent-config/commit/3c568e6eed6c50f8fee2c1685d25dc7aef9d82ec))
|
|
64
64
|
* **low-impact-floor:** drop forbidden authoring-tree path from rule ([8962291](https://github.com/event4u-app/agent-config/commit/89622914c375d01629ed3795d37fd7adf7a07c60))
|
|
65
|
-
* **ai-council:** restore Phase 11 sections in
|
|
65
|
+
* **ai-council:** restore Phase 11 sections in condensed SKILL.md ([52e4f14](https://github.com/event4u-app/agent-config/commit/52e4f14177acd90fd63b4c1c283b3dbda41a6437))
|
|
66
66
|
|
|
67
67
|
### Documentation
|
|
68
68
|
|
|
@@ -153,7 +153,7 @@ Tests: 4340 (+472 since 2.13.0)
|
|
|
153
153
|
### Documentation
|
|
154
154
|
|
|
155
155
|
* **roadmap:** rename "rule" to "invariant" for deep_min_rounds reference ([758ea46](https://github.com/event4u-app/agent-config/commit/758ea46568c23ef5518ff61d80700f7559bc54a1))
|
|
156
|
-
* **ai-council:** sync
|
|
156
|
+
* **ai-council:** sync condensed SKILL.md with Phase 6 advisors section ([6d57034](https://github.com/event4u-app/agent-config/commit/6d57034c7b342abdd5d38ff300fa67c51deb3471))
|
|
157
157
|
* **council:** document master/wrapper contract for the council cluster ([7346f34](https://github.com/event4u-app/agent-config/commit/7346f34376b48c02ced3ae939dfff6ea215025ba))
|
|
158
158
|
|
|
159
159
|
### Tests
|
|
@@ -43,6 +43,6 @@
|
|
|
43
43
|
* **docs:** bump command count from 109 to 115 ([f8c61b1](https://github.com/event4u-app/agent-config/commit/f8c61b1d0ec48034e0d66e8d32534056ca4aa1f0))
|
|
44
44
|
* **template:** bump agent_config_version pin to 2.14.0 ([fcb885f](https://github.com/event4u-app/agent-config/commit/fcb885fd19bdbca46ef91ec4d5e723cc6c186c6d))
|
|
45
45
|
* **index:** regenerate agents/index.md + docs/catalog.md for /agents user ([56b281d](https://github.com/event4u-app/agent-config/commit/56b281d69960d3e57adbd24b9ec6fd24fc1a5aff))
|
|
46
|
-
* **agent-user:** regenerate
|
|
46
|
+
* **agent-user:** regenerate condensed sources + claude tool stubs ([f79b6d1](https://github.com/event4u-app/agent-config/commit/f79b6d1cfcf1caccde4a723ad779c65d9ed87198))
|
|
47
47
|
|
|
48
48
|
Tests: 4352 (+12 since 2.14.0)
|