@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,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: condense-memory
|
|
3
|
+
description: "Use when shrinking always-loaded memory files (AGENTS.md, CLAUDE.md, .cursorrules) via telegraph grammar — refuses sensitive paths, round-trips via .original.md backup."
|
|
4
|
+
source: package
|
|
5
|
+
domain: process
|
|
6
|
+
execution:
|
|
7
|
+
type: assisted
|
|
8
|
+
handler: internal
|
|
9
|
+
allowed_tools: [Bash]
|
|
10
|
+
workspaces:
|
|
11
|
+
- agent-config-maintainer
|
|
12
|
+
packs:
|
|
13
|
+
- meta
|
|
14
|
+
lifecycle: active
|
|
15
|
+
trust:
|
|
16
|
+
level: core
|
|
17
|
+
confidence: high
|
|
18
|
+
human_review_required: false
|
|
19
|
+
install:
|
|
20
|
+
default: true
|
|
21
|
+
removable: false
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# condense-memory
|
|
25
|
+
|
|
26
|
+
> **Experimental.** Output-side telegraph dialect did not meet kill-criterion in [`internal/bench/reports/telegraph-v1.md`](../../../bench/reports/telegraph-v1.md) (`vs_terse` median −9.27 %). Input-side memory condensation is orthogonal use case: savings target always-loaded memory budget, not reply stream. Treat ship-criterion as **per-target measurement**, not v1 verdict.
|
|
27
|
+
|
|
28
|
+
## When to use
|
|
29
|
+
|
|
30
|
+
Use when:
|
|
31
|
+
|
|
32
|
+
- Always-loaded memory file (`AGENTS.md`, `CLAUDE.md`, `.cursorrules`, `GEMINI.md`, `.windsurfrules`) close to or above host tool's char budget and maintainer wants to recover input-token headroom.
|
|
33
|
+
- Consumer-shipped `templates/AGENTS.md` failing `agents-md-thin-root` cap and pointer-extraction options exhausted.
|
|
34
|
+
- Maintainer asks to "condense this memory file" or "shrink AGENTS.md" or names input-side telegraph.
|
|
35
|
+
|
|
36
|
+
## Do NOT
|
|
37
|
+
|
|
38
|
+
- Condense reply, commit message, PR body, ticket summary, or any deliverable written *for* human reader — those are carve-outs in [`telegraph-speak § Carve-outs`](../../rules/telegraph-speak.md) and stay verbatim.
|
|
39
|
+
- Condense path matching sensitive-file denylist (`.env*`, `.netrc`, `credentials*`, `secrets*`, `id_rsa*`, `*.pem|key|p12|pfx|crt|cer|jks`, `.ssh/*`) — script refuses with `SensitivePathError` and so should you.
|
|
40
|
+
- Condense generated file (`.agent-src/`, `.augment/`, `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules`) — edit source in `.agent-src.uncondensed/` and regenerate via package's sync + generate-tools scripts (`scripts/condense.sh --sync` + `scripts/condense.py --generate-tools`).
|
|
41
|
+
- Hand-edit condensed memory file in place — run `--decondense` first; next condense pass refuses on body-hash drift (`CondensationRefused`).
|
|
42
|
+
- Commit condensed file without committing matching `.original.md` backup — round-trip breaks otherwise.
|
|
43
|
+
|
|
44
|
+
## Procedure
|
|
45
|
+
|
|
46
|
+
1. **Analyse target first.** Before any write, **inspect** target with `view` or `wc -l` to confirm it is always-loaded memory file (`AGENTS.md`, `CLAUDE.md`, `.cursorrules`, `GEMINI.md`, `.windsurfrules`), not generated, and has prose paragraphs to condense (pointer-only Thin-Root file may net near-zero). Skip rest of procedure if any check fails.
|
|
47
|
+
2. **Check denylist gate.** Run `python3 scripts/condense_memory.py <path> --check` — exit 0 = safe; exit 2 = denylist hit, stop and surface refusal.
|
|
48
|
+
3. **Record baseline.** `wc -c <path>` — capture pre-condensation char count for commit message.
|
|
49
|
+
4. **Condense.** `python3 scripts/condense_memory.py <path>`. Script writes `<path>.original.md` (verbatim backup) and rewrites `<path>` with `original_sha256:` + `condensed_at:` frontmatter.
|
|
50
|
+
5. **Inspect diff.** Eyeball every Iron-Law fence, numbered-options block, code fence, backtick span, `❌`/`⚠️`/`✅` line, and frontmatter pair — all must be byte-identical. Body prose may have lost articles (`the`/`a`/`an`) and auxiliaries (`is`/`are`/`was`/`be`/`that`/`which`).
|
|
51
|
+
6. **Validate idempotency.** Re-run `python3 scripts/condense_memory.py <path>` — clean re-run is no-op (body hash matches). Non-zero exit = stop, escalate.
|
|
52
|
+
7. **Commit both files together.** `<path>` and `<path>.original.md` ship as pair. Backup is rollback path; never commit one without other.
|
|
53
|
+
8. **Rollback path.** If readability fails review at step 5: `python3 scripts/condense_memory.py <path> --decondense` restores backup and deletes `.original.md`.
|
|
54
|
+
|
|
55
|
+
## Output format
|
|
56
|
+
|
|
57
|
+
Maintainer-facing report after invoking script MUST contain, in this order:
|
|
58
|
+
|
|
59
|
+
1. **Diff line** — pre/post `wc -c` as single line (`AGENTS.md: 2,891 → 2,453 chars (−15.1 %)`).
|
|
60
|
+
2. **Backup path** — full path of `.original.md` backup so maintainer can verify it landed on disk.
|
|
61
|
+
3. **Carve-out check** — one line confirming seven carve-out classes round-tripped (`carve-outs: 7 classes preserved · idempotent re-run: clean`).
|
|
62
|
+
4. **Exit-code surface** — on failure, surface verbatim exit code and exception name (`SensitivePathError → exit 2`, `CondensationRefused → exit 3`, `FileNotFoundError → exit 4`); do not paraphrase.
|
|
63
|
+
|
|
64
|
+
Do **not** narrate algorithm, grammar rules, or carve-out theory — rule and this skill document contract; output reports result.
|
|
65
|
+
|
|
66
|
+
## Carve-outs — byte-for-byte preserved
|
|
67
|
+
|
|
68
|
+
Mirrors seven carve-out classes in [`telegraph-speak`](../../rules/telegraph-speak.md). Condensation engine in [`scripts/condense_memory.py`](../../../scripts/condense_memory.py) preserves:
|
|
69
|
+
|
|
70
|
+
1. **Triple-backtick fences** — any language, any depth.
|
|
71
|
+
2. **Numbered-options lines** — `^>?\s*\d+\.\s` plus `**Recommendation:**` / `**Empfehlung:**` label.
|
|
72
|
+
3. **Backtick spans** — file paths, command names, identifiers inside body prose.
|
|
73
|
+
4. **Status / error markers** — lines starting with `❌`, `⚠️`, `✅`.
|
|
74
|
+
5. **Iron-Law ALL-CAPS lines** — `^[A-Z][A-Z0-9 ,.\-_/']{3,}$`.
|
|
75
|
+
6. **Frontmatter blocks** — `---` fence pairs at head of file.
|
|
76
|
+
7. **Mode markers** per [`role-mode-adherence`](../../rules/role-mode-adherence.md).
|
|
77
|
+
|
|
78
|
+
Mangling any of these breaks Iron-Law surface host tool reads. Unit tests in `tests/test_condense_memory.py` lock each carve-out class as regression case.
|
|
79
|
+
|
|
80
|
+
## Idempotency contract — Step 9 guard
|
|
81
|
+
|
|
82
|
+
Script is **idempotent on clean re-runs**: running it twice on same target is no-op because body hash matches recondensed hash. Script **refuses** on **body drift**:
|
|
83
|
+
|
|
84
|
+
| State | Outcome |
|
|
85
|
+
|---|---|
|
|
86
|
+
| No frontmatter SHA marker | Condense + write backup + inject SHA. |
|
|
87
|
+
| SHA marker present, body re-condenses to same hash | No-op (return target unchanged). |
|
|
88
|
+
| SHA marker present, body hash diverged | **Refuse** with `CondensationRefused` exit 3. |
|
|
89
|
+
|
|
90
|
+
If you need to edit condensed memory file, run `--decondense` first, edit restored `.original.md` content, then re-run condenseor. Never hand-edit condensed body — next CI run will either silently corrupt your edit (if it happens to re-condense to same shape) or hard-fail next condense pass.
|
|
91
|
+
|
|
92
|
+
## Sensitive-path gate
|
|
93
|
+
|
|
94
|
+
Every read path passes through [`scripts/validate_safe_paths.py`](../../../scripts/validate_safe_paths.py) `assert_safe()` before bytes leave disk. Gate is security floor for Phase 2 (input-side condensation) per `step-16-telegraph-substance.md` Phase 0; rollback of gate is rollback of this skill.
|
|
95
|
+
|
|
96
|
+
CLI exit codes:
|
|
97
|
+
|
|
98
|
+
- `0` — condense / decondense / check succeeded.
|
|
99
|
+
- `2` — `SensitivePathError` (path matched denylist).
|
|
100
|
+
- `3` — `CondensationRefused` (body hash diverged from frontmatter SHA).
|
|
101
|
+
- `4` — `FileNotFoundError` (no `.original.md` backup to restore).
|
|
102
|
+
|
|
103
|
+
## Gotchas
|
|
104
|
+
|
|
105
|
+
- **Body-hash drift after manual edit** — hand-editing condensed body breaks `original_sha256:` invariant. Next condense pass refuses with `CondensationRefused` (exit 3). Recovery: `--decondense`, edit restored body, re-condense.
|
|
106
|
+
- **`.original.md` backup missing on `--decondense`** — exit 4 (`FileNotFoundError`). Either someone deleted backup or `--decondense` already ran. Restore from git history; never regenerate backup by hand (regenerated content would not be byte-identical).
|
|
107
|
+
- **Denylist false positive** — sensitive-looking filename outside denylist surface (project-specific naming) will still pass `assert_safe()`. Denylist necessary but not sufficient; maintainer responsible for never feeding secrets to condenseor.
|
|
108
|
+
- **Frontmatter ordering with existing keys** — if target already has frontmatter, condenseor preserves existing keys, drops any prior `original_sha256:` / `condensed_at:` entries, and appends new pair. Other agents reading file should treat SHA + timestamp pair as canonical condensation marker, not file size.
|
|
109
|
+
- **Negative savings on pointer-heavy files** — `templates/AGENTS.md` already following Thin-Root (≥ 40 % pointers, ≥ 60-char *why*-clauses) has little prose left to drop; condensation may net near-zero or even add bytes via frontmatter. Run [`agents-md-thin-root`](../agents-md-thin-root/SKILL.md) first to maximise pointer share, then measure whether this skill still pays.
|
|
110
|
+
- **Generated-tree drift** — condensing `.agent-src.uncondensed/templates/AGENTS.md` does NOT propagate to `.augment/`, `.claude/`, etc. until package's sync + generate-tools scripts run (`scripts/condense.sh --sync` + `scripts/condense.py --generate-tools`). Always regenerate after condensing templated file.
|
|
111
|
+
|
|
112
|
+
## Measurement — when to condense
|
|
113
|
+
|
|
114
|
+
No published `telegraph-v2` baseline for input-side savings yet (Step 11 of `step-16-telegraph-substance.md` ships that). Until then, maintainer judges per-target whether condensation pays its readability cost. Suggested workflow:
|
|
115
|
+
|
|
116
|
+
1. `wc -c <path>` before — record baseline char count.
|
|
117
|
+
2. `python3 scripts/condense_memory.py <path>` — condense + back up.
|
|
118
|
+
3. `wc -c <path>` after — record post-condensation char count.
|
|
119
|
+
4. Eyeball diff: does prose stay legible? Are all Iron-Law fences intact?
|
|
120
|
+
5. If yes → commit both `<path>` and `<path>.original.md`. If no → `--decondense`.
|
|
121
|
+
|
|
122
|
+
Future `telegraph-v2.md` will tabulate realised input-token saving against `agents-md-thin-root` 40 % pointer-ratio constraint so maintainer has numerical floor.
|
|
123
|
+
|
|
124
|
+
## Cross-references
|
|
125
|
+
|
|
126
|
+
- [`telegraph-speak`](../../rules/telegraph-speak.md) — runtime rule script mirrors for input-side targets; `telegraph.speak_scope` does **not** gate this script (input-side runs regardless).
|
|
127
|
+
- [`scripts/validate_safe_paths.py`](../../../scripts/validate_safe_paths.py) — Phase 0 gate; ported from upstream Telegraph `63a91ec`.
|
|
128
|
+
- [`scripts/condense_memory.py`](../../../scripts/condense_memory.py) — implementation.
|
|
129
|
+
- [`tests/test_condense_memory.py`](../../../tests/test_condense_memory.py) — regression locks for each carve-out + idempotency + denylist.
|
|
130
|
+
- [`docs/contracts/condensation-default-kill-criterion.md`](../../../docs/contracts/condensation-default-kill-criterion.md) — v1 verdict (output-side; informs but does not gate this skill).
|
|
131
|
+
- [`agents-md-thin-root`](../agents-md-thin-root/SKILL.md) — caps consumer-shipped `templates/AGENTS.md`; this skill is one tool to land under cap.
|
|
@@ -51,7 +51,7 @@ Do NOT use when:
|
|
|
51
51
|
| `deployment-order.md` | Migration strategy, feature flags, rollback plan | `migration-safety`, `judge-bug-hunter`, release reviewers |
|
|
52
52
|
| `observability.md` | Error tracking, log channels, metrics, known alerts | deploy reviewers, `bug-analyzer`, incident mode |
|
|
53
53
|
|
|
54
|
-
The templates ship in `.agent-src.
|
|
54
|
+
The templates ship in `.agent-src.uncondensed/templates/contexts/` and are
|
|
55
55
|
copied into `agents/settings/contexts/` by the installer.
|
|
56
56
|
|
|
57
57
|
## Procedure: context-authoring
|
|
@@ -163,7 +163,7 @@ has to confirm or correct, not invent from scratch.
|
|
|
163
163
|
If the context file declares its own `load_context:` (chain reasoning),
|
|
164
164
|
use logical names rooted at the source — `contexts/<area>/<file>.md`
|
|
165
165
|
for package material or `agents/settings/contexts/<file>.md` for project-local
|
|
166
|
-
material. The `.agent-src.
|
|
166
|
+
material. The `.agent-src.uncondensed/` prefix is rejected by the
|
|
167
167
|
schema regex and by `scripts/lint_load_context.py`. Body links to
|
|
168
168
|
`docs/guidelines/...` use the verbatim `../../docs/...` relative form.
|
|
169
169
|
Canonical reference: `rule-writing` § 3b and
|
|
@@ -59,8 +59,10 @@ Unlike feature plans (future-focused) or roadmaps (task-focused), contexts are
|
|
|
59
59
|
agents/settings/contexts/ # Project-wide contexts
|
|
60
60
|
├── {context-name}.md
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
├── {context-name}.md
|
|
62
|
+
{module_root}/{Module}/{agent_folder}/settings/contexts/ # Module-scoped contexts
|
|
63
|
+
├── {context-name}.md # Laravel: app/Modules/…
|
|
64
|
+
# Symfony: src/Bundle/…
|
|
65
|
+
# Monorepo: packages/…
|
|
64
66
|
|
|
65
67
|
.augment/templates/
|
|
66
68
|
└── contexts.md # Context template
|
|
@@ -82,7 +84,7 @@ app/Modules/{Module}/agents/settings/contexts/ # Module-scoped contexts
|
|
|
82
84
|
|---|---|
|
|
83
85
|
| About the `.augment/` system itself | `.augment/contexts/` (shared package) |
|
|
84
86
|
| Project-wide or cross-module | `agents/settings/contexts/` |
|
|
85
|
-
| Module-specific | `app/Modules/{Module}/agents/settings/contexts/` |
|
|
87
|
+
| Module-specific | `{module_root}/{Module}/{agent_folder}/settings/contexts/` (resolved via `modules.root_paths` + `modules.agent_folder`; Laravel example: `app/Modules/{Module}/agents/settings/contexts/`) |
|
|
86
88
|
| If unsure | Ask the user |
|
|
87
89
|
|
|
88
90
|
### Shared vs. project-specific contexts
|
|
@@ -143,7 +143,7 @@ both. Instead, reference with a table:
|
|
|
143
143
|
1. **Extract to `agents/`** — Move project-specific details to dedicated files in `agents/`
|
|
144
144
|
and link from AGENTS.md (e.g., `agents/reference/docs/database-setup.md`, `agents/reference/docs/testing.md`)
|
|
145
145
|
2. **Remove duplicates** — If content exists in `.augment/`, remove from AGENTS.md
|
|
146
|
-
3. **
|
|
146
|
+
3. **Condense** — Turn verbose explanations into concise tables or bullet points
|
|
147
147
|
4. **Remove ECS/Rector-enforced rules** — From copilot-instructions.md (auto-fixed anyway)
|
|
148
148
|
5. **Move examples to guidelines** — Detailed code examples belong in `.augment/guidelines/`
|
|
149
149
|
|
|
@@ -175,7 +175,7 @@ Before deduplicating, run three scans:
|
|
|
175
175
|
|
|
176
176
|
Every hit from scan 1 is a 🔴 blocker: leaking another project's name
|
|
177
177
|
into a consumer's own docs is the failure mode this skill exists to
|
|
178
|
-
prevent. Fix or remove those BEFORE any dedup/
|
|
178
|
+
prevent. Fix or remove those BEFORE any dedup/condense work — there's
|
|
179
179
|
no point deduplicating content that is about to be rewritten.
|
|
180
180
|
|
|
181
181
|
When the drift is severe (whole sections are wrong), recommend
|
|
@@ -193,7 +193,7 @@ it as "redundant" and never trim its bullets. The patterns it covers:
|
|
|
193
193
|
(`../docs/guidelines/foo.md`, `../contexts/bar.md`) — paths resolve
|
|
194
194
|
from the file's delivered location, not from the symlink in
|
|
195
195
|
`.claude/rules/` etc. (per `road-to-path-fixes.md` Strategy A).
|
|
196
|
-
- `path_prefix:` triggers containing `.agent-src.
|
|
196
|
+
- `path_prefix:` triggers containing `.agent-src.uncondensed/` —
|
|
197
197
|
literal match patterns, not file refs (per Modified Option 1,
|
|
198
198
|
P2.2).
|
|
199
199
|
- Symlinked rule files under `.claude/rules/`, `.cursor/rules/`,
|
|
@@ -71,7 +71,7 @@ Report which checks pass / fail in one compact line — **not** a long essay.
|
|
|
71
71
|
|
|
72
72
|
If the target is a skill, check for a trigger-eval report:
|
|
73
73
|
|
|
74
|
-
* `.agent-src.
|
|
74
|
+
* `.agent-src.uncondensed/skills/{name}/evals/triggers.json` — the expected-trigger corpus
|
|
75
75
|
* `evals/last-run.json` — the most recent runner output (see
|
|
76
76
|
[`scripts/skill_trigger_eval.py`](../../../scripts/skill_trigger_eval.py))
|
|
77
77
|
|
|
@@ -132,7 +132,7 @@ counter-proposal.
|
|
|
132
132
|
|
|
133
133
|
Only after the user picks:
|
|
134
134
|
|
|
135
|
-
* Edit the frontmatter in `.agent-src.
|
|
135
|
+
* Edit the frontmatter in `.agent-src.uncondensed/{kind}/{name}.{md,SKILL.md}`.
|
|
136
136
|
* Re-copy / re-sync as the target artifact's writing skill prescribes.
|
|
137
137
|
* Run `python3 scripts/skill_linter.py {path}` — must report 0 FAIL.
|
|
138
138
|
* Report the diff and exit.
|
|
@@ -132,7 +132,7 @@ git commit -m "<conventional commit message>"
|
|
|
132
132
|
```
|
|
133
133
|
|
|
134
134
|
Interactive rebase only when the user wants per-commit control — it
|
|
135
|
-
replays derived files (`.
|
|
135
|
+
replays derived files (`.condensation-hashes.json`, router projections)
|
|
136
136
|
per commit and conflicts on every replay.
|
|
137
137
|
|
|
138
138
|
### 4. Re-push in the SAME turn
|
|
@@ -56,7 +56,7 @@ Creating or materially rewriting a guideline **must** go through Understand
|
|
|
56
56
|
* **Understand** — which skills or rules will cite this guideline? If the
|
|
57
57
|
answer is "none", the guideline has no home — stop.
|
|
58
58
|
* **Research** — **inspect** `docs/guidelines/` for overlap and grep
|
|
59
|
-
`.agent-src.
|
|
59
|
+
`.agent-src.uncondensed/` for pages that already cover the topic.
|
|
60
60
|
**Analyze** 1–2 peer guidelines in the same topic folder for tone.
|
|
61
61
|
* **Draft** — propose location (topic folder + filename) and outline. Only
|
|
62
62
|
fill bodies once the outline is confirmed.
|
|
@@ -122,7 +122,7 @@ Above the split signal, break by sub-topic into sibling files in the same folder
|
|
|
122
122
|
|
|
123
123
|
* Run `python3 scripts/skill_linter.py docs/guidelines/{topic}/{name}.md`
|
|
124
124
|
→ 0 FAIL (guidelines have relaxed linting but must still parse).
|
|
125
|
-
* Run `bash scripts/
|
|
125
|
+
* Run `bash scripts/condense.sh --sync` → projects updates.
|
|
126
126
|
* Run `python3 scripts/check_references.py` → no broken links.
|
|
127
127
|
* Run the full CI pipeline locally (see `Taskfile.yml` in this repo for
|
|
128
128
|
the script list) — must exit 0 except for tolerated warnings.
|
|
@@ -132,7 +132,7 @@ Above the split signal, break by sub-topic into sibling files in the same folder
|
|
|
132
132
|
1. Complete guideline at `docs/guidelines/{topic}/{name}.md`
|
|
133
133
|
2. At least one skill or rule linking to it
|
|
134
134
|
3. Linter + `check_references.py` clean
|
|
135
|
-
4. `bash scripts/
|
|
135
|
+
4. `bash scripts/condense.sh --sync` confirmation
|
|
136
136
|
|
|
137
137
|
## Gotchas
|
|
138
138
|
|
|
@@ -170,7 +170,7 @@ to every guideline you author.
|
|
|
170
170
|
* Do NOT add `type:` or `alwaysApply:` to the frontmatter
|
|
171
171
|
* Do NOT embed numbered procedures — those belong in skills
|
|
172
172
|
* Do NOT create an orphan guideline with no inbound links
|
|
173
|
-
* Do NOT reintroduce `.agent-src.
|
|
173
|
+
* Do NOT reintroduce `.agent-src.uncondensed/guidelines/` — relocated to `docs/guidelines/`
|
|
174
174
|
|
|
175
175
|
## Cloud Behavior
|
|
176
176
|
|
|
@@ -189,7 +189,7 @@ validation:
|
|
|
189
189
|
`docs/guidelines/{topic}/{name}.md` and run
|
|
190
190
|
`task sync && task lint-skills && task check-refs` locally before
|
|
191
191
|
committing.
|
|
192
|
-
* Do not call the linter, ref-checker, or
|
|
192
|
+
* Do not call the linter, ref-checker, or condenseor — they only
|
|
193
193
|
run on the user's machine.
|
|
194
194
|
|
|
195
195
|
## Examples
|
|
@@ -143,10 +143,10 @@ Run all four steps before declaring "no overlap":
|
|
|
143
143
|
**Step 1 — list all four surfaces.** Directory taxonomy is free evidence:
|
|
144
144
|
|
|
145
145
|
```bash
|
|
146
|
-
ls .agent-src.
|
|
147
|
-
.agent-src.
|
|
146
|
+
ls .agent-src.uncondensed/skills/ \
|
|
147
|
+
.agent-src.uncondensed/rules/ \
|
|
148
148
|
docs/guidelines/ \
|
|
149
|
-
.agent-src.
|
|
149
|
+
.agent-src.uncondensed/commands/
|
|
150
150
|
```
|
|
151
151
|
|
|
152
152
|
Sub-directories matter — `docs/guidelines/php/patterns/`, `docs/guidelines/agent-infra/`,
|
|
@@ -162,7 +162,7 @@ artifact may name the *symptom*, not the cure.
|
|
|
162
162
|
| Problem-words | `discriminator`, `enum.*match`, `switch.*on`, `if.*else.*chain` |
|
|
163
163
|
|
|
164
164
|
```bash
|
|
165
|
-
grep -rl -E "<solution-words>|<problem-words>" .agent-src.
|
|
165
|
+
grep -rl -E "<solution-words>|<problem-words>" .agent-src.uncondensed/
|
|
166
166
|
```
|
|
167
167
|
|
|
168
168
|
**Step 3 — taxonomy scan.** For any topic with a likely sub-folder
|
|
@@ -32,7 +32,7 @@ install:
|
|
|
32
32
|
|
|
33
33
|
Use this skill when:
|
|
34
34
|
|
|
35
|
-
- Validating the shape of every skill and rule in `.agent-src.
|
|
35
|
+
- Validating the shape of every skill and rule in `.agent-src.uncondensed/`
|
|
36
36
|
- Verifying execution metadata (`execution.type`, `handler`, `command`) is well-formed
|
|
37
37
|
- Checking locally before opening a PR that CI's skill-lint job will pass
|
|
38
38
|
- Investigating a reported linter failure on a specific skill or rule
|
|
@@ -41,14 +41,14 @@ Do NOT use when:
|
|
|
41
41
|
|
|
42
42
|
- Linting only one file — call `python3 scripts/skill_linter.py <path>` directly
|
|
43
43
|
- Checking cross-references between files — use `check-refs` instead
|
|
44
|
-
- Checking
|
|
44
|
+
- Checking condensation freshness — use `bash scripts/condense.sh --check` instead
|
|
45
45
|
|
|
46
46
|
## Procedure
|
|
47
47
|
|
|
48
48
|
### 1. Inspect the environment
|
|
49
49
|
|
|
50
50
|
Confirm `python3` is available and the working directory is the agent-config
|
|
51
|
-
repository root — the linter expects to find `.agent-src.
|
|
51
|
+
repository root — the linter expects to find `.agent-src.uncondensed/skills/`
|
|
52
52
|
and related directories relative to `cwd`.
|
|
53
53
|
|
|
54
54
|
### 2. Dispatch via the runtime layer
|
|
@@ -31,8 +31,8 @@ install:
|
|
|
31
31
|
|
|
32
32
|
Fire this skill **before** writing or saving any `.md` file under:
|
|
33
33
|
|
|
34
|
-
- `.agent-src.
|
|
35
|
-
- `.agent-src/` (
|
|
34
|
+
- `.agent-src.uncondensed/` (source of truth — skills, rules, commands, guidelines, templates, contexts)
|
|
35
|
+
- `.agent-src/` (condensed projection)
|
|
36
36
|
- `.augment/` (local agent projection)
|
|
37
37
|
- `agents/` (project-specific roadmaps, contexts, sessions)
|
|
38
38
|
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: module-detect-on-the-fly
|
|
3
|
+
description: "Use when editing a file under a module-shaped path (`Modules/*`, `packages/*`, `apps/*`, `internal/*`) while `modules.enabled` is `false` — asks the user once whether to enable the config."
|
|
4
|
+
source: package
|
|
5
|
+
domain: process
|
|
6
|
+
workspaces:
|
|
7
|
+
- agent-config-maintainer
|
|
8
|
+
packs:
|
|
9
|
+
- meta
|
|
10
|
+
lifecycle: active
|
|
11
|
+
trust:
|
|
12
|
+
level: core
|
|
13
|
+
confidence: high
|
|
14
|
+
human_review_required: false
|
|
15
|
+
install:
|
|
16
|
+
default: true
|
|
17
|
+
removable: false
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# module-detect-on-the-fly
|
|
21
|
+
|
|
22
|
+
## When to use
|
|
23
|
+
|
|
24
|
+
Fires the first time the agent edits, reads, or references a file
|
|
25
|
+
inside a module-shaped path while the project has not yet opted into
|
|
26
|
+
the module config. Goal: catch projects with real module structure
|
|
27
|
+
that never ran `/agents init` or the GUI wizard, and offer to enable
|
|
28
|
+
the config — once, without nagging.
|
|
29
|
+
|
|
30
|
+
**Trigger heuristic** (any one):
|
|
31
|
+
|
|
32
|
+
- The agent is about to edit a path matching `*/Modules/*`,
|
|
33
|
+
`*/app/Modules/*`, `*/packages/*/<non-noise>`, `*/apps/*/<non-noise>`,
|
|
34
|
+
`*/src/Module*/*`, or `*/internal/*/<non-noise>`.
|
|
35
|
+
- The user names such a path in their request.
|
|
36
|
+
- A `/module *` command runs while `modules.enabled` is `false`.
|
|
37
|
+
|
|
38
|
+
**Hard gate** — skip the skill entirely when **any** of these hold:
|
|
39
|
+
|
|
40
|
+
1. `modules.enabled` is `true` (already configured — use `module-management`).
|
|
41
|
+
2. `modules.detection_acknowledged` is `true` (user already answered).
|
|
42
|
+
3. The path matches a `_NOISE_SEGMENTS` entry (`vendor`, `node_modules`,
|
|
43
|
+
`dist`, `build`, etc.) — see `scripts/_lib/module_detection.py`.
|
|
44
|
+
|
|
45
|
+
Confirm both flags via `get_modules_config()` before running detection.
|
|
46
|
+
|
|
47
|
+
## Procedure
|
|
48
|
+
|
|
49
|
+
1. **Detect** — call `detect_module_roots(project_root)` from
|
|
50
|
+
`scripts/_lib/module_detection.py`. Returns a list of
|
|
51
|
+
`ModuleCandidate` ordered `high → medium` confidence.
|
|
52
|
+
2. **Bail early** — if the list is empty OR every candidate has
|
|
53
|
+
`confidence: "medium"` AND no candidate matches the path the agent
|
|
54
|
+
is currently working on, skip silently. (False positives nag worse
|
|
55
|
+
than missed detections.)
|
|
56
|
+
3. **Surface once** — present a single numbered-options block:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
Detected module-shaped structure not yet in config:
|
|
60
|
+
- app/Modules/ (laravel-hmvc, high confidence, 4 modules)
|
|
61
|
+
- packages/ (node-monorepo, medium confidence, 2 candidates)
|
|
62
|
+
|
|
63
|
+
1. Enable modules config — add detected paths to
|
|
64
|
+
`.agent-project-settings.yml` so module-aware skills activate.
|
|
65
|
+
2. Not now — silence this prompt for the project (you can revisit
|
|
66
|
+
via `/agents init` later).
|
|
67
|
+
3. Show details first — list the candidates with their stack guess
|
|
68
|
+
and per-module subdirs before deciding.
|
|
69
|
+
|
|
70
|
+
Recommendation: 1 when the high-confidence list matches your
|
|
71
|
+
intent. 2 when the layout is intentionally flat.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
4. **Persist the choice**:
|
|
75
|
+
|
|
76
|
+
- **Option 1** — build the payload (matches `propose_modules_config.py
|
|
77
|
+
--json` shape, includes `detection_acknowledged: true`), pipe into
|
|
78
|
+
`python3 scripts/apply_modules_config.py --project <root>`.
|
|
79
|
+
- **Option 2** — run `python3 scripts/apply_modules_config.py
|
|
80
|
+
--project <root> --acknowledge-only`. Flips only the ack flag;
|
|
81
|
+
every other `modules.*` key stays untouched.
|
|
82
|
+
- **Option 3** — list candidates, then loop back to step 3.
|
|
83
|
+
|
|
84
|
+
5. **Resume the original task** — never block work on the prompt. If
|
|
85
|
+
the user picks 2, treat the project as flat for the rest of the
|
|
86
|
+
session.
|
|
87
|
+
|
|
88
|
+
## Output format
|
|
89
|
+
|
|
90
|
+
1. One-paragraph note naming the detected paths + stack guess +
|
|
91
|
+
confidence per row.
|
|
92
|
+
2. Single numbered-options block (1 = enable, 2 = silence,
|
|
93
|
+
3 = show details).
|
|
94
|
+
3. After the user picks: the apply-script invocation that was run,
|
|
95
|
+
then resume the original task on the next turn.
|
|
96
|
+
|
|
97
|
+
## Gotcha
|
|
98
|
+
|
|
99
|
+
- **False positives nag worse than misses.** Only fire when
|
|
100
|
+
`is_module_like_path()` matches AND `detect_module_roots()` returns
|
|
101
|
+
a `high`-confidence candidate that overlaps the path the agent is
|
|
102
|
+
touching. Pure `medium`-only hits on unrelated paths → skip silently.
|
|
103
|
+
- **Vendored trees mimic module shape.** `vendor/foo/Modules/Bar`,
|
|
104
|
+
`node_modules/*/packages/*`, `dist/Modules/*` — the noise filter in
|
|
105
|
+
`is_module_like_path()` already drops these, but never call
|
|
106
|
+
`detect_module_roots()` against a vendored sub-root.
|
|
107
|
+
- **Maintainer dogfooding.** This repo (`event4u/agent-config`) ships
|
|
108
|
+
`packages/*/agents/` that look module-shaped. The repo's own
|
|
109
|
+
`.agent-project-settings.yml` sets `detection_acknowledged: true` to
|
|
110
|
+
silence the skill here.
|
|
111
|
+
- **Intentional flat monorepos.** When `packages/*` is just a
|
|
112
|
+
vendoring directory for unrelated tools, option 2 is the right
|
|
113
|
+
answer and the skill must respect it permanently.
|
|
114
|
+
|
|
115
|
+
## Do NOT
|
|
116
|
+
|
|
117
|
+
- Do NOT background-scan. Detection only runs when the trigger
|
|
118
|
+
heuristic fires on a path the agent is actively touching.
|
|
119
|
+
- Do NOT re-prompt once `modules.detection_acknowledged` is `true`.
|
|
120
|
+
Re-entry goes through `/agents init`, never automatic.
|
|
121
|
+
- Do NOT auto-enable on a `high`-confidence match. The user has to
|
|
122
|
+
pick option 1 — the whole point is one explicit decision.
|
|
123
|
+
- Do NOT commit or push the patched `.agent-project-settings.yml`.
|
|
124
|
+
Persistence writes the file only; staging is the user's call per
|
|
125
|
+
`commit-policy`.
|
|
126
|
+
- Do NOT block the original task on the prompt. If the user ignores
|
|
127
|
+
the options block, continue the work and treat the project as flat
|
|
128
|
+
for the rest of the session.
|
|
129
|
+
|
|
130
|
+
## See also
|
|
131
|
+
|
|
132
|
+
- `module-management` — the active skill once modules are configured.
|
|
133
|
+
- `scripts/_lib/module_detection.py` — `detect_module_roots()` +
|
|
134
|
+
`is_module_like_path()` helpers.
|
|
135
|
+
- `scripts/apply_modules_config.py` — persistence with
|
|
136
|
+
`--acknowledge-only` for option 2.
|
|
137
|
+
- `commands/agents/init.md` — the explicit re-entry point if the user
|
|
138
|
+
wants to revisit detection later.
|