@event4u/agent-config 9.8.0 → 9.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +278 -298
- package/CONTRIBUTING.md +23 -7
- package/MIGRATION.md +20 -0
- package/README.md +55 -9
- package/dist/agent-src/commands/agents/audit.md +1 -1
- package/dist/agent-src/commands/agents/optimize.md +2 -2
- package/dist/agent-src/commands/agents/user.md +1 -1
- package/dist/agent-src/commands/agents.md +1 -1
- package/dist/agent-src/commands/check-current-md.md +3 -3
- package/dist/agent-src/commands/fix/portability.md +2 -2
- package/dist/agent-src/commands/fix/pr-comments-loop.md +136 -0
- package/dist/agent-src/commands/fix/refs.md +2 -2
- package/dist/agent-src/commands/fix/route.md +4 -3
- package/dist/agent-src/commands/fix.md +9 -6
- package/dist/agent-src/commands/ghostwriter.md +1 -1
- package/dist/agent-src/commands/image.md +1 -1
- package/dist/agent-src/commands/optimize/augmentignore.md +1 -1
- package/dist/agent-src/commands/optimize/skills.md +2 -2
- package/dist/agent-src/commands/post-as.md +1 -1
- package/dist/agent-src/commands/research.md +1 -1
- package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/team/delegate.md +4 -0
- package/dist/agent-src/commands/video.md +1 -1
- package/dist/agent-src/contexts/authority/kernel-rule-edits.md +1 -1
- package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +48 -2
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +10 -0
- package/dist/agent-src/contexts/execution/subagent-modes-detail.md +109 -8
- package/dist/agent-src/contexts/execution/subagent-response-contract.md +20 -0
- package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +53 -3
- package/dist/agent-src/rules/code-provenance.md +112 -0
- package/dist/agent-src/rules/external-code-graph-interop.md +4 -4
- package/dist/agent-src/rules/history-discipline.md +80 -0
- package/dist/agent-src/rules/no-roadmap-references.md +1 -1
- package/dist/agent-src/rules/php-coding.md +1 -0
- package/dist/agent-src/rules/reviewer-awareness.md +1 -0
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
- package/dist/agent-src/rules/roadmap-progress-sync.md +7 -0
- package/dist/agent-src/rules/scale-discipline.md +92 -0
- package/dist/agent-src/rules/security-sensitive-stop.md +10 -0
- package/dist/agent-src/rules/session-canary.md +77 -0
- package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
- package/dist/agent-src/rules/tool-safety.md +3 -1
- package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
- package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
- package/dist/agent-src/skills/code-intelligence/SKILL.md +17 -14
- package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +0 -3
- package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
- package/dist/agent-src/skills/design-review/SKILL.md +5 -6
- package/dist/agent-src/skills/design-tokens/SKILL.md +0 -1
- package/dist/agent-src/skills/history-design/SKILL.md +101 -0
- package/dist/agent-src/skills/history-design/evals/triggers.json +17 -0
- package/dist/agent-src/skills/humanizer/SKILL.md +3 -3
- package/dist/agent-src/skills/image-editing/SKILL.md +1 -1
- package/dist/agent-src/skills/image-generation/SKILL.md +2 -1
- package/dist/agent-src/skills/image-provider-routing/SKILL.md +2 -2
- package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
- package/dist/agent-src/skills/license-compliance-audit/SKILL.md +161 -0
- package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +52 -0
- package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +145 -0
- package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +52 -0
- package/dist/agent-src/skills/license-compliance-credits/SKILL.md +97 -0
- package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +52 -0
- package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
- package/dist/agent-src/skills/override-management/SKILL.md +1 -1
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +7 -7
- package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
- package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -2
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +2 -2
- package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -0
- package/dist/agent-src/skills/refine-ticket/SKILL.md +3 -3
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -0
- package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +31 -12
- package/dist/agent-src/skills/rule-refactor/SKILL.md +3 -3
- package/dist/agent-src/skills/schema-review/SKILL.md +92 -0
- package/dist/agent-src/skills/schema-review/evals/triggers.json +17 -0
- package/dist/agent-src/skills/secrets-management/SKILL.md +3 -4
- package/dist/agent-src/skills/security-audit/SKILL.md +1 -1
- package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +1 -1
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +3 -3
- package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/source-discovery/SKILL.md +5 -5
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +45 -85
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +5 -4
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -3
- package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +1 -1
- package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +2 -3
- package/dist/agent-src/templates/AGENTS.md +1 -1
- package/dist/agent-src/templates/agents/.gitattributes.fragment +25 -6
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/command.md +3 -3
- package/dist/agent-src/templates/persona.md +2 -2
- package/dist/agent-src/templates/rule.md +2 -2
- package/dist/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
- package/dist/agent-src/templates/scripts/telemetry_record.ts +33 -1
- package/dist/cli/commands/doctorShell.js +20 -0
- package/dist/cli/commands/doctorShell.js.map +1 -1
- package/dist/cli/commands/rtkDetect.js +58 -0
- package/dist/cli/commands/rtkDetect.js.map +1 -0
- package/dist/cli/firstRunNotice.js +70 -0
- package/dist/cli/firstRunNotice.js.map +1 -0
- package/dist/cli/main.js +35 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/registry.js +7 -1
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +362 -78
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +6 -4
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +90 -8
- package/dist/discovery/trust-report.md +11 -11
- package/dist/discovery/workspaces.json +31 -7
- package/dist/hooks/dispatch.js +19475 -0
- package/dist/install/agentSwitchDetection.js +75 -0
- package/dist/install/agentSwitchDetection.js.map +1 -0
- package/dist/install/agentSwitchProfile.js +117 -0
- package/dist/install/agentSwitchProfile.js.map +1 -0
- package/dist/install/atomic.js +1 -1
- package/dist/install/detect.js +1 -1
- package/dist/install/install.mjs +775 -486
- package/dist/install/rtkDetection.js +213 -0
- package/dist/install/rtkDetection.js.map +1 -0
- package/dist/install/rule_scope.js +2 -1
- package/dist/install/rule_scope.js.map +1 -1
- package/dist/install/types.js +2 -2
- package/dist/install/wizard-plan.js +1 -1
- package/dist/install/wizardDismissals.js +58 -0
- package/dist/install/wizardDismissals.js.map +1 -0
- package/dist/mcp/awesome-mcp-servers.row.md +1 -1
- package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
- package/dist/mcp/registry-manifest.json +15 -4
- package/dist/mcp/server.json +20 -0
- package/dist/mcp/server.mjs +44292 -0
- package/dist/router.json +1 -1
- package/dist/scripts/condense.js +14 -7
- package/dist/scripts/condense.js.map +1 -1
- package/dist/server/app.js +4 -2
- package/dist/server/app.js.map +1 -1
- package/dist/server/io/sharedWriteCheck.js +101 -0
- package/dist/server/io/sharedWriteCheck.js.map +1 -0
- package/dist/server/routes/ping.js +14 -0
- package/dist/server/routes/ping.js.map +1 -1
- package/dist/server/routes/settings.js +21 -4
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/routes/userMd.js +21 -4
- package/dist/server/routes/userMd.js.map +1 -1
- package/dist/server/routes/wizard.js +68 -25
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/server/schemas/settings.js +4 -2
- package/dist/server/schemas/settings.js.map +1 -1
- package/dist/ui/assets/index-BpSQt5vm.js +40 -0
- package/dist/ui/assets/index-BpSQt5vm.js.map +1 -0
- package/dist/ui/assets/index-jSfMW8_t.css +1 -0
- package/dist/ui/index.html +2 -2
- package/docs/MIGRATION.md +16 -0
- package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
- package/package.json +21 -11
- package/src/agent-src/templates/AGENTS.md +1 -1
- package/src/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
- package/src/agent-src/templates/scripts/telemetry_record.ts +33 -1
- package/src/config/agent-settings.template.yml +52 -14
- package/src/config/discovery/packs.yml +22 -0
- package/src/config/discovery/workspaces.yml +1 -1
- package/src/config/evaluator-budgets.json +47 -0
- package/src/config/hook-latency-budget.json +20 -0
- package/src/install/agentSwitchDetection.ts +90 -0
- package/src/install/agentSwitchProfile.ts +131 -0
- package/src/install/atomic.ts +1 -1
- package/src/install/detect.ts +1 -1
- package/src/install/rtkDetection.ts +274 -0
- package/src/install/rule_scope.ts +9 -2
- package/src/install/types.ts +2 -2
- package/src/install/wizard-plan.ts +1 -1
- package/src/install/wizardDismissals.ts +60 -0
- package/src/scripts/_cli/cmd_doctor.ts +62 -1
- package/src/scripts/_cli/cmd_memory_get.ts +197 -0
- package/src/scripts/_cli/cmd_refresh.ts +30 -0
- package/src/scripts/_dispatch.bash +81 -0
- package/src/scripts/_lib/auto_dispatch.corpus.test.ts +64 -1
- package/src/scripts/_lib/auto_dispatch.ts +76 -0
- package/src/scripts/_lib/detect_target_license.ts +714 -0
- package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +5 -0
- package/src/scripts/_lib/fixtures/secret-detector/positives.txt +4 -0
- package/src/scripts/_lib/install_drift.ts +194 -0
- package/src/scripts/_lib/memory_fts_index.ts +390 -0
- package/src/scripts/_lib/orchestration_record.ts +91 -2
- package/src/scripts/_lib/persistence/adapter_raw_sql.ts +443 -0
- package/src/scripts/_lib/persistence/detect_audit_coverage.ts +423 -0
- package/src/scripts/_lib/persistence/detect_bounded_reads.ts +154 -0
- package/src/scripts/_lib/persistence/detect_index_parity.ts +576 -0
- package/src/scripts/_lib/persistence/detect_n1_eloquent.ts +226 -0
- package/src/scripts/_lib/persistence/detect_offload.ts +441 -0
- package/src/scripts/_lib/persistence/detect_prisma_growth.ts +74 -0
- package/src/scripts/_lib/persistence/offload_catalog.ts +73 -0
- package/src/scripts/_lib/persistence/types.ts +109 -0
- package/src/scripts/_lib/rtk_allowlist.ts +44 -0
- package/src/scripts/_lib/secret_detector.test.ts +5 -0
- package/src/scripts/_lib/secret_detector.ts +9 -0
- package/src/scripts/_lib/secret_detector_adversarial.test.ts +116 -0
- package/src/scripts/_lib/spawn_env.ts +7 -0
- package/src/scripts/_lib/sqlite_guard.ts +191 -0
- package/src/scripts/_lib/subagent_spawn.ts +53 -0
- package/src/scripts/_lib/worker_budget.ts +107 -0
- package/src/scripts/ai_council/blind_review.ts +0 -0
- package/src/scripts/ai_council/config.ts +12 -6
- package/src/scripts/ai_council/orchestrator.ts +73 -3
- package/src/scripts/ai_team/review_gate.ts +8 -10
- package/src/scripts/ai_team/team_dispatch.ts +48 -0
- package/src/scripts/audit_initial_context.ts +1 -1
- package/src/scripts/bench_cross_source_eval.ts +400 -0
- package/src/scripts/bench_honesty_score.ts +1093 -0
- package/src/scripts/bench_hook_latency.ts +218 -0
- package/src/scripts/build_mcp_catalog.ts +275 -0
- package/src/scripts/build_mcp_registry_manifest.ts +46 -0
- package/src/scripts/build_proof.ts +45 -0
- package/src/scripts/chat_history.ts +8 -5
- package/src/scripts/check_backstop_debt.ts +23 -13
- package/src/scripts/check_bundle_path_leakage.ts +343 -0
- package/src/scripts/check_evaluator_budgets.ts +99 -0
- package/src/scripts/check_knowledge_sharing.ts +12 -1
- package/src/scripts/check_no_external_sources.ts +2 -2
- package/src/scripts/check_source_pointer_freshness.ts +28 -3
- package/src/scripts/code_graph/build.ts +0 -0
- package/src/scripts/code_graph/cli.ts +181 -9
- package/src/scripts/code_graph/detect.ts +52 -0
- package/src/scripts/code_graph/intent.ts +45 -0
- package/src/scripts/code_graph/query.ts +143 -29
- package/src/scripts/code_graph/sqlite_store.ts +174 -0
- package/src/scripts/condense.ts +14 -6
- package/src/scripts/context_hygiene_hook.ts +8 -5
- package/src/scripts/council_cli.ts +126 -12
- package/src/scripts/detect_target_license.ts +203 -0
- package/src/scripts/evaluator_umbrella.sh +145 -0
- package/src/scripts/external_sources_denylist.json +5 -3
- package/src/scripts/first_run_gate_hook.ts +9 -5
- package/src/scripts/hermetic-install.sh +3 -3
- package/src/scripts/hook_manifest.yaml +55 -16
- package/src/scripts/hooks/block_kernel_rule_writes.ts +212 -0
- package/src/scripts/hooks/block_no_verify.ts +9 -9
- package/src/scripts/hooks/code_graph_nudge_hook.ts +11 -4
- package/src/scripts/hooks/concern_registry.ts +75 -0
- package/src/scripts/hooks/design_slop_hook.ts +8 -5
- package/src/scripts/hooks/dispatch_entry.ts +37 -0
- package/src/scripts/hooks/dispatch_hook.ts +176 -3
- package/src/scripts/hooks/hook_stdin.ts +42 -0
- package/src/scripts/hooks/rtk_wrap_hook.ts +26 -12
- package/src/scripts/hot_context_hook.ts +7 -6
- package/src/scripts/injection_scan_hook.ts +9 -1
- package/src/scripts/install +6 -6
- package/src/scripts/install-hooks.sh +4 -4
- package/src/scripts/install.sh +5 -4
- package/src/scripts/install.ts +264 -23
- package/src/scripts/learning_sidecar.ts +0 -0
- package/src/scripts/lint_budget_ownership.ts +89 -0
- package/src/scripts/lint_command_routing.ts +35 -5
- package/src/scripts/lint_command_verbs.ts +42 -9
- package/src/scripts/lint_consumer_internal_refs.ts +211 -0
- package/src/scripts/lint_discovery_vocabulary.ts +2 -0
- package/src/scripts/lint_documented_commands.ts +670 -0
- package/src/scripts/lint_framework_leakage.ts +17 -3
- package/src/scripts/lint_framework_leakage_allowlist.json +32 -0
- package/src/scripts/lint_governed_writes.ts +335 -0
- package/src/scripts/lint_hidden_unicode.ts +6 -0
- package/src/scripts/lint_mcp_registry_manifest.ts +26 -1
- package/src/scripts/lint_memory_tripwire.ts +186 -0
- package/src/scripts/lint_override_kernel_guard.ts +74 -26
- package/src/scripts/lint_persistence.ts +171 -0
- package/src/scripts/lint_pre_migration_refs.ts +106 -0
- package/src/scripts/lint_provenance.ts +547 -0
- package/src/scripts/lint_provenance_vocabulary.ts +437 -0
- package/src/scripts/lint_spawn_payload.ts +283 -0
- package/src/scripts/lint_store_boundary.ts +152 -0
- package/src/scripts/lint_versioned_cache.ts +7 -1
- package/src/scripts/mcp_server/__main__.ts +7 -2
- package/src/scripts/mcp_server/catalog.ts +23 -1
- package/src/scripts/mcp_server/consumer_tool_catalog.json +563 -193
- package/src/scripts/mcp_server/prompts.ts +6 -0
- package/src/scripts/mcp_server/tool_catalog_source.ts +332 -0
- package/src/scripts/mcp_server/tools.ts +56 -5
- package/src/scripts/mcp_telemetry_query.ts +2 -33
- package/src/scripts/mcp_telemetry_store.ts +64 -34
- package/src/scripts/memory_learn_hook.ts +126 -0
- package/src/scripts/memory_lookup.ts +0 -0
- package/src/scripts/memory_replay_24.ts +312 -0
- package/src/scripts/memory_report.ts +16 -3
- package/src/scripts/memory_signal.ts +48 -0
- package/src/scripts/memory_status.ts +6 -0
- package/src/scripts/minimal_safe_diff_hook.ts +8 -5
- package/src/scripts/onboarding_gate_hook.ts +8 -5
- package/src/scripts/orchestration_record.ts +16 -0
- package/src/scripts/pr_url_reminder_hook.ts +8 -1
- package/src/scripts/prepack-check.mjs +17 -0
- package/src/scripts/prepack_lifecycle_check.d.mts +8 -0
- package/src/scripts/prepack_lifecycle_check.mjs +82 -0
- package/src/scripts/profile_staleness_hook.ts +8 -7
- package/src/scripts/report_install_drift.ts +109 -0
- package/src/scripts/roadmap_progress_hook.ts +8 -5
- package/src/scripts/schemas/license-policy.schema.json +89 -0
- package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
- package/src/scripts/schemas/rule.schema.json +10 -0
- package/src/scripts/self_review_gate.test.ts +173 -1
- package/src/scripts/self_review_gate.ts +155 -15
- package/src/scripts/session_canary_hook.ts +182 -0
- package/src/scripts/smoke_quickstart.ts +2 -2
- package/src/scripts/surface_probe_hook.ts +8 -7
- package/src/scripts/sync_gitattributes.ts +310 -0
- package/src/scripts/team_review_gate_hook.ts +13 -16
- package/src/scripts/verify_before_complete_hook.ts +8 -5
- package/src/scripts/wrapper_freshness_hook.ts +8 -7
- package/src/server/schemas/settings.ts +8 -2
- package/dist/ui/assets/index-BPFMZWUs.css +0 -1
- package/dist/ui/assets/index-CrmZ34Rg.js +0 -40
- package/dist/ui/assets/index-CrmZ34Rg.js.map +0 -1
- package/docs/CLAIMS.md +0 -286
- package/docs/DISTRIBUTION_CHECKLIST.md +0 -170
- package/docs/RELEASE_STORY_TEMPLATE.md +0 -37
- package/docs/SKILL_CENSUS.md +0 -352
- package/docs/adrs/cost/0001-hard-stop-hook.md +0 -114
- package/docs/adrs/cost/README.md +0 -9
- package/docs/adrs/memory/0001-consumer-side-snapshot.md +0 -119
- package/docs/adrs/memory/README.md +0 -10
- package/docs/adrs/router/0001-three-tier-routing.md +0 -119
- package/docs/adrs/router/README.md +0 -9
- package/docs/adrs/schema/0001-json-schema-frontmatter.md +0 -102
- package/docs/adrs/schema/README.md +0 -9
- package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +0 -99
- package/docs/adrs/smoke/README.md +0 -9
- package/docs/adrs/telegraph/0001-default-off-until-bench.md +0 -93
- package/docs/adrs/telegraph/README.md +0 -9
- package/docs/announcements/2026-05-non-dev-launch.md +0 -79
- package/docs/announcements/2026-07-honest-cost-sweep-launch.md +0 -84
- package/docs/anti-reskin-gate.md +0 -60
- package/docs/architecture/augment-projection.md +0 -70
- package/docs/architecture/claude-bundle.md +0 -77
- package/docs/architecture/current-onboard-baseline.md +0 -126
- package/docs/architecture/current-safety-behavior.md +0 -137
- package/docs/architecture/multi-tool-projection.md +0 -125
- package/docs/architecture/setup-vs-settings-shared-surface.md +0 -114
- package/docs/architecture/source-projection.md +0 -85
- package/docs/architecture.md +0 -390
- package/docs/archive/CHANGELOG-6.0.0-overview.md +0 -953
- package/docs/archive/CHANGELOG-7.0.0.md +0 -419
- package/docs/archive/CHANGELOG-pre-2.11.0.md +0 -141
- package/docs/archive/CHANGELOG-pre-2.15.0.md +0 -244
- package/docs/archive/CHANGELOG-pre-2.16.0.md +0 -48
- package/docs/archive/CHANGELOG-pre-2.17.0.md +0 -63
- package/docs/archive/CHANGELOG-pre-2.2.0.md +0 -2138
- package/docs/archive/CHANGELOG-pre-2.20.0.md +0 -159
- package/docs/archive/CHANGELOG-pre-2.25.0.md +0 -191
- package/docs/archive/CHANGELOG-pre-2.7.0.md +0 -185
- package/docs/archive/CHANGELOG-pre-3.0.0.md +0 -130
- package/docs/archive/CHANGELOG-pre-3.1.0.md +0 -167
- package/docs/archive/CHANGELOG-pre-3.2.0.md +0 -268
- package/docs/archive/CHANGELOG-pre-4.0.0.md +0 -80
- package/docs/archive/CHANGELOG-pre-4.5.0.md +0 -289
- package/docs/archive/CHANGELOG-pre-5.4.0.md +0 -260
- package/docs/archive/CHANGELOG-pre-5.9.0.md +0 -270
- package/docs/archive/CHANGELOG-pre-6.0.0.md +0 -473
- package/docs/archive/CHANGELOG-pre-7.0.0.md +0 -126
- package/docs/archive/CHANGELOG-pre-8.0.0.md +0 -301
- package/docs/archive/CHANGELOG-pre-8.1.0.md +0 -316
- package/docs/archive/CHANGELOG-pre-8.12.0.md +0 -304
- package/docs/archive/CHANGELOG-pre-8.9.0.md +0 -306
- package/docs/archive/CHANGELOG-pre-9.2.0.md +0 -276
- package/docs/artefact-census.md +0 -71
- package/docs/benchmark.md +0 -785
- package/docs/benchmark.pinned.yml +0 -31
- package/docs/benchmarks.md +0 -85
- package/docs/capability-matrix.md +0 -33
- package/docs/case-studies/_template.md +0 -60
- package/docs/case-studies/frontend-design-positioning.md +0 -86
- package/docs/catalog.md +0 -726
- package/docs/command-flows.md +0 -272
- package/docs/command-naming-audit.md +0 -60
- package/docs/comparison.yaml +0 -87
- package/docs/contracts/CHANGELOG-conventions.md +0 -149
- package/docs/contracts/STABILITY.md +0 -188
- package/docs/contracts/adoption-signal-floor.md +0 -127
- package/docs/contracts/adr-architectural-consensus-mechanism.md +0 -68
- package/docs/contracts/adr-chat-history-split.md +0 -140
- package/docs/contracts/adr-command-suggestion.md +0 -144
- package/docs/contracts/adr-forecast-construction-shape.md +0 -90
- package/docs/contracts/adr-gtm-context-spine.md +0 -116
- package/docs/contracts/adr-implement-ticket-runtime.md +0 -121
- package/docs/contracts/adr-install-user-type-axis.md +0 -107
- package/docs/contracts/adr-layout.md +0 -107
- package/docs/contracts/adr-level-6-productization.md +0 -145
- package/docs/contracts/adr-mcp-runtime.md +0 -128
- package/docs/contracts/adr-product-ui-track.md +0 -381
- package/docs/contracts/adr-prompt-driven-execution.md +0 -186
- package/docs/contracts/adr-settings-sync-engine.md +0 -128
- package/docs/contracts/adr-user-types-axis.md +0 -127
- package/docs/contracts/adr-wing4-context-spine.md +0 -126
- package/docs/contracts/agent-user-schema.md +0 -170
- package/docs/contracts/agents-layout.md +0 -148
- package/docs/contracts/agents-md-tech-stack.md +0 -75
- package/docs/contracts/ai-council-config.md +0 -829
- package/docs/contracts/ai-team-config.md +0 -224
- package/docs/contracts/analysis-memory-loop.md +0 -149
- package/docs/contracts/at-rest-encryption.md +0 -191
- package/docs/contracts/audit-log-v1.md +0 -150
- package/docs/contracts/auto-orchestration-v1.md +0 -70
- package/docs/contracts/benchmark-ab-contract.md +0 -106
- package/docs/contracts/benchmark-corpus-spec.md +0 -125
- package/docs/contracts/benchmark-report-schema.md +0 -113
- package/docs/contracts/branch-protection-policy.md +0 -139
- package/docs/contracts/brand-token-consumption.md +0 -74
- package/docs/contracts/capability-boundary.md +0 -69
- package/docs/contracts/capability-packs.md +0 -217
- package/docs/contracts/ci-cost-budget.md +0 -111
- package/docs/contracts/ci-green-floor.md +0 -141
- package/docs/contracts/command-category-governance.md +0 -84
- package/docs/contracts/command-clusters.md +0 -399
- package/docs/contracts/command-surface-tiers.md +0 -176
- package/docs/contracts/command-taxonomy.md +0 -137
- package/docs/contracts/condensation-default-kill-criterion.md +0 -116
- package/docs/contracts/config-presets.md +0 -144
- package/docs/contracts/conformance.md +0 -84
- package/docs/contracts/consumer-bridge.md +0 -73
- package/docs/contracts/context-paths.md +0 -101
- package/docs/contracts/context-spine.md +0 -179
- package/docs/contracts/cost-dashboard.md +0 -143
- package/docs/contracts/cost-enforcement.md +0 -134
- package/docs/contracts/cost-profile-defaults.md +0 -110
- package/docs/contracts/cost-summary-schema.md +0 -107
- package/docs/contracts/creative-pack-boundary.md +0 -63
- package/docs/contracts/cross-repo-retrieval.md +0 -64
- package/docs/contracts/cross-wing-handoff.md +0 -134
- package/docs/contracts/daily-workspace.md +0 -147
- package/docs/contracts/decision-engine-gates.md +0 -120
- package/docs/contracts/decision-trace-v1.md +0 -177
- package/docs/contracts/design-artifact-lifecycle.md +0 -93
- package/docs/contracts/design-artifact-verification.md +0 -153
- package/docs/contracts/discovery-manifest.md +0 -209
- package/docs/contracts/discovery-manifest.schema.json +0 -254
- package/docs/contracts/evidence-based-pruning.md +0 -102
- package/docs/contracts/explain-modes.md +0 -187
- package/docs/contracts/explain-trace.schema.json +0 -144
- package/docs/contracts/file-ownership-matrix.json +0 -13941
- package/docs/contracts/file-ownership-matrix.md +0 -135
- package/docs/contracts/frontmatter-contract.md +0 -140
- package/docs/contracts/ghostwriter-schema.md +0 -337
- package/docs/contracts/governance-enforcement-projection.md +0 -159
- package/docs/contracts/gui-wizard.md +0 -350
- package/docs/contracts/harness-expectations.md +0 -128
- package/docs/contracts/hook-architecture-v1.md +0 -325
- package/docs/contracts/host-agent-protocol.md +0 -110
- package/docs/contracts/implement-ticket-flow.md +0 -625
- package/docs/contracts/init-telemetry.md +0 -132
- package/docs/contracts/injected-block-authenticity-model.md +0 -66
- package/docs/contracts/install-layout.md +0 -249
- package/docs/contracts/install-scopes.md +0 -82
- package/docs/contracts/installed-tools-lockfile.md +0 -144
- package/docs/contracts/installer-agent-mode.md +0 -137
- package/docs/contracts/iron-law-overrides.txt +0 -26
- package/docs/contracts/kernel-membership.md +0 -339
- package/docs/contracts/linear-ai-rules-inclusion.md +0 -143
- package/docs/contracts/linear-ai-three-layers.md +0 -130
- package/docs/contracts/linter-structural-model.md +0 -181
- package/docs/contracts/load-context-budget-model.md +0 -259
- package/docs/contracts/load-context-schema.md +0 -220
- package/docs/contracts/local-analytics.md +0 -160
- package/docs/contracts/local-knowledge-ingestion.md +0 -96
- package/docs/contracts/local-server-api.md +0 -134
- package/docs/contracts/local-server-ports.md +0 -53
- package/docs/contracts/low-impact-corpus-format.md +0 -95
- package/docs/contracts/mcp-beta-criteria.md +0 -130
- package/docs/contracts/mcp-cloud-scope.md +0 -355
- package/docs/contracts/mcp-discovery-phase-notice.md +0 -60
- package/docs/contracts/mcp-phase-1-scope.md +0 -272
- package/docs/contracts/mcp-registry-manifest.schema.json +0 -129
- package/docs/contracts/mcp-tool-inventory.md +0 -64
- package/docs/contracts/mcp-tool-stub-envelope.md +0 -78
- package/docs/contracts/measurement-baseline.md +0 -103
- package/docs/contracts/memory-visibility-v1.md +0 -160
- package/docs/contracts/mental-models.md +0 -336
- package/docs/contracts/migrate-command.md +0 -233
- package/docs/contracts/multi-tool-projection-fidelity.md +0 -134
- package/docs/contracts/namespace.md +0 -125
- package/docs/contracts/no-runtime-boundary.md +0 -61
- package/docs/contracts/one-off-script-lifecycle.md +0 -110
- package/docs/contracts/orchestration-dsl-v1.md +0 -153
- package/docs/contracts/package-self-orientation.md +0 -163
- package/docs/contracts/pilot/agent-authority.md +0 -24
- package/docs/contracts/pilot/direct-answers.md +0 -70
- package/docs/contracts/pilot/language-and-tone.md +0 -63
- package/docs/contracts/plain-language-surface.md +0 -117
- package/docs/contracts/prelaunch-diagnostics.md +0 -151
- package/docs/contracts/profile-system.md +0 -167
- package/docs/contracts/reasoning-discipline-protocol.md +0 -83
- package/docs/contracts/release-pr-gating.md +0 -151
- package/docs/contracts/release-sizing.md +0 -107
- package/docs/contracts/release-trunk-sync.md +0 -105
- package/docs/contracts/review-lens-schema.md +0 -64
- package/docs/contracts/roadmap-complexity-standard.md +0 -138
- package/docs/contracts/role-experience.md +0 -125
- package/docs/contracts/router-blending.md +0 -71
- package/docs/contracts/rule-classification.md +0 -171
- package/docs/contracts/rule-interactions.md +0 -132
- package/docs/contracts/rule-interactions.yml +0 -260
- package/docs/contracts/rule-priority-hierarchy.md +0 -88
- package/docs/contracts/rule-router.md +0 -287
- package/docs/contracts/safety-model.md +0 -129
- package/docs/contracts/session-profile-overlay.md +0 -157
- package/docs/contracts/settings-api.md +0 -264
- package/docs/contracts/settings-gui-agent-mode.schema.json +0 -128
- package/docs/contracts/settings-sync-yaml-subset.md +0 -139
- package/docs/contracts/skill-bundled-assets.md +0 -62
- package/docs/contracts/skill-discovery.md +0 -80
- package/docs/contracts/skill-distribution-channels.md +0 -66
- package/docs/contracts/skill-domains.md +0 -144
- package/docs/contracts/skill-dry-run.md +0 -47
- package/docs/contracts/skill-family-map.yml +0 -915
- package/docs/contracts/smoke-contracts.md +0 -144
- package/docs/contracts/subagent-boundary.md +0 -74
- package/docs/contracts/surface-agent-contracts.md +0 -153
- package/docs/contracts/surface-matrix.md +0 -108
- package/docs/contracts/surface-tiers.md +0 -81
- package/docs/contracts/telegraph-telemetry.md +0 -83
- package/docs/contracts/ticket-bundle-format.md +0 -233
- package/docs/contracts/tier-3-contrib-plugin.md +0 -137
- package/docs/contracts/trust-and-safety.md +0 -144
- package/docs/contracts/ui-stack-extension.md +0 -237
- package/docs/contracts/ui-track-flow.md +0 -329
- package/docs/contracts/universal-skills.md +0 -91
- package/docs/contracts/user-type-schema.md +0 -146
- package/docs/contracts/value-dashboard-spec.md +0 -378
- package/docs/contracts/value-report-schema.md +0 -168
- package/docs/contracts/workflow-packs.md +0 -121
- package/docs/contracts/workspace-boundary.md +0 -84
- package/docs/contracts/workspace-documents.md +0 -144
- package/docs/contracts/write-engine.md +0 -182
- package/docs/cookbook.md +0 -152
- package/docs/customization.md +0 -696
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +0 -109
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +0 -135
- package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +0 -137
- package/docs/decisions/ADR-004-rule-governance-pruning.md +0 -240
- package/docs/decisions/ADR-005-subagent-worktrees.md +0 -120
- package/docs/decisions/ADR-006-skill-tools-python-pilot.md +0 -114
- package/docs/decisions/ADR-007-agent-discovery-scopes.md +0 -371
- package/docs/decisions/ADR-008-installed-tools-manifest.md +0 -160
- package/docs/decisions/ADR-009-event4u-namespace.md +0 -188
- package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +0 -168
- package/docs/decisions/ADR-011-domain-pack-readiness.md +0 -213
- package/docs/decisions/ADR-012-typescript-cli-shell.md +0 -162
- package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +0 -342
- package/docs/decisions/ADR-014-gui-framework-choice.md +0 -136
- package/docs/decisions/ADR-015-discovery-manifest-contract.md +0 -146
- package/docs/decisions/ADR-016-installer-architecture.md +0 -191
- package/docs/decisions/ADR-017-monorepo-physical-layout.md +0 -261
- package/docs/decisions/ADR-018-trust-and-safety-layer.md +0 -159
- package/docs/decisions/ADR-019-router-json-dist-location.md +0 -124
- package/docs/decisions/ADR-020-global-only-consumer-scope.md +0 -213
- package/docs/decisions/ADR-021-deployment-shape.md +0 -153
- package/docs/decisions/ADR-022-daily-workspace-decomposition.md +0 -140
- package/docs/decisions/ADR-023-host-agent-protocol.md +0 -129
- package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +0 -126
- package/docs/decisions/ADR-025-workspace-chrome.md +0 -119
- package/docs/decisions/ADR-026-explain-mode-translation.md +0 -117
- package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +0 -129
- package/docs/decisions/ADR-028-root-layout.md +0 -147
- package/docs/decisions/ADR-029-multi-workspace-deferred.md +0 -122
- package/docs/decisions/ADR-030-claude-code-command-projection.md +0 -147
- package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +0 -97
- package/docs/decisions/ADR-032-linked-projects-scope.md +0 -122
- package/docs/decisions/ADR-033-distribution-identity-npm-primary.md +0 -81
- package/docs/decisions/ADR-034-per-skill-model-recommendation-transport.md +0 -63
- package/docs/decisions/ADR-035-model-capability-tiers.md +0 -104
- package/docs/decisions/ADR-036-global-install-browser-wizard-handoff.md +0 -106
- package/docs/decisions/ADR-037-cost-profile-untangle.md +0 -117
- package/docs/decisions/ADR-038-canonical-settings-path.md +0 -96
- package/docs/decisions/ADR-039-claude-skills-untracked.md +0 -139
- package/docs/decisions/ADR-040-execution-model-projection-time-filtering.md +0 -244
- package/docs/decisions/ADR-041-controlled-command-verbs.md +0 -133
- package/docs/decisions/ADR-042-runtime-resolver-decision-gate.md +0 -113
- package/docs/decisions/ADR-043-monorepo-collapse-to-src-domains.md +0 -128
- package/docs/decisions/ADR-044-command-naming-scheme-hyphenated.md +0 -250
- package/docs/decisions/ADR-045-src-source-layout-and-profiles-as-views.md +0 -111
- package/docs/decisions/ADR-046-thin-command-principle.md +0 -93
- package/docs/decisions/ADR-047-framework-neutral-stack-adaptive-commands.md +0 -94
- package/docs/decisions/ADR-048-command-justification-rule.md +0 -106
- package/docs/decisions/ADR-049-configuration-trust-boundary.md +0 -132
- package/docs/decisions/ADR-050-workspace-vs-package-root-boundary.md +0 -121
- package/docs/decisions/ADR-051-uncondensed-source-container-relocation.md +0 -114
- package/docs/decisions/ADR-052-packages-removal-and-pack-home-migration.md +0 -86
- package/docs/decisions/ADR-053-agents-namespace-dual-role-resolution.md +0 -132
- package/docs/decisions/ADR-054-rule-adherence-decay-triggered-restate.md +0 -143
- package/docs/decisions/ADR-055-flow-layer-data-model.md +0 -235
- package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +0 -124
- package/docs/decisions/ADR-057-consolidation-evidence-gate-outcomes.md +0 -135
- package/docs/decisions/ADR-058-condensed-output-relocation-to-dist.md +0 -94
- package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +0 -161
- package/docs/decisions/ADR-060-comfyui-sandbox-model.md +0 -154
- package/docs/decisions/ADR-061-corpus-grounding-layer.md +0 -230
- package/docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md +0 -121
- package/docs/decisions/ADR-063-append-jsonl-encryption-deferred.md +0 -83
- package/docs/decisions/ADR-064-append-jsonl-per-record-encryption.md +0 -113
- package/docs/decisions/ADR-065-tier3-inbox-handoff-v0.md +0 -86
- package/docs/decisions/ADR-066-skill-body-prerendering.md +0 -93
- package/docs/decisions/ADR-067-glama-registry-listing.md +0 -259
- package/docs/decisions/ADR-068-host-tier-detection.md +0 -90
- package/docs/decisions/ADR-069-prompt-renderer.md +0 -97
- package/docs/decisions/ADR-070-tier1-drive-loop.md +0 -94
- package/docs/decisions/ADR-071-launch-drive-integration.md +0 -95
- package/docs/decisions/ADR-072-codex-gemini-drive-configs.md +0 -90
- package/docs/decisions/ADR-073-drive-health-kill-switch.md +0 -81
- package/docs/decisions/ADR-074-drive-kill-switch-auto-recovery.md +0 -84
- package/docs/decisions/ADR-075-workspace-gui-drive.md +0 -83
- package/docs/decisions/ADR-076-workspace-multi-turn.md +0 -92
- package/docs/decisions/ADR-077-workspace-followup-gui.md +0 -70
- package/docs/decisions/ADR-078-drive-health-panel.md +0 -70
- package/docs/decisions/ADR-079-workspace-host-picker.md +0 -81
- package/docs/decisions/ADR-080-host-session-expired-410.md +0 -92
- package/docs/decisions/ADR-081-drive-health-reset-and-410-affordance.md +0 -71
- package/docs/decisions/ADR-082-410-one-click-relaunch.md +0 -58
- package/docs/decisions/ADR-083-session-thread-and-arbitrary-continuation.md +0 -85
- package/docs/decisions/ADR-084-drive-health-refresh-on-drive.md +0 -52
- package/docs/decisions/ADR-085-mcp-stdio-end-user-distribution-shape.md +0 -158
- package/docs/decisions/ADR-086-read-only-cross-agent-mcp-discovery-helper.md +0 -171
- package/docs/decisions/ADR-087-installer-e2e-test-strategy.md +0 -111
- package/docs/decisions/ADR-088-no-external-runtime-federation.md +0 -144
- package/docs/decisions/ADR-089-lean-local-plugin-install.md +0 -111
- package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +0 -95
- package/docs/decisions/ADR-091-split-meta-capability-packs.md +0 -113
- package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +0 -117
- package/docs/decisions/ADR-093-ai-council-config-user-global.md +0 -117
- package/docs/decisions/ADR-094-agent-memory-layer-removal.md +0 -94
- package/docs/decisions/ADR-095-workspace-boundary-contract.md +0 -108
- package/docs/decisions/ADR-096-analysis-workbench.md +0 -110
- package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +0 -121
- package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +0 -154
- package/docs/decisions/ADR-099-file-first-pattern-library.md +0 -87
- package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +0 -140
- package/docs/decisions/ADR-101-ticket-bundle-emission.md +0 -109
- package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +0 -72
- package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +0 -92
- package/docs/decisions/ADR-104-ai-council-config-global-only.md +0 -119
- package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +0 -108
- package/docs/decisions/ADR-106-recursive-verification-benchmark-gate.md +0 -126
- package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +0 -70
- package/docs/decisions/ADR-108-open-source-forever-no-commercial-tier.md +0 -46
- package/docs/decisions/ADR-109-subagent-v1-contract.md +0 -248
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -112
- package/docs/decisions/ADR-111-canonical-glama-listing.md +0 -97
- package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +0 -92
- package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +0 -209
- package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +0 -85
- package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +0 -91
- package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +0 -144
- package/docs/decisions/ADR-117-subagents-auto-default-on.md +0 -89
- package/docs/decisions/ADR-118-loop-engineering-boundaries.md +0 -162
- package/docs/decisions/ADR-119-global-knowledge-default-on.md +0 -104
- package/docs/decisions/ADR-120-council-chairman-mode.md +0 -70
- package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +0 -90
- package/docs/decisions/ADR-122-adversarial-verification-council.md +0 -166
- package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +0 -142
- package/docs/decisions/ADR-124-embedded-engine-doctrine.md +0 -255
- package/docs/decisions/ADR-125-doc-screenshot-anonymization.md +0 -131
- package/docs/decisions/ADR-126-internet-reach-operator-tooling.md +0 -254
- package/docs/decisions/ADR-127-enforcement-claims-must-resolve.md +0 -150
- package/docs/decisions/ADR-128-executable-evidence-and-measured-escalation.md +0 -201
- package/docs/decisions/ADR-200-python-to-typescript-migration.md +0 -203
- package/docs/decisions/ADR-rule-kernel-and-router.md +0 -133
- package/docs/decisions/INDEX.md +0 -157
- package/docs/decisions/engine-reclassification-2026-07.md +0 -104
- package/docs/deploy/connector-setup.md +0 -129
- package/docs/deploy/env-vars.md +0 -70
- package/docs/deploy/policy-cookbook.md +0 -130
- package/docs/deploy/quickstart.md +0 -112
- package/docs/deploy/small-team-recipe.md +0 -148
- package/docs/deploy/team-deployment-posture.md +0 -111
- package/docs/design/adversarial-council-eval.md +0 -106
- package/docs/design/council-vs-solo-baseline.md +0 -92
- package/docs/design/cross-model-parity-eval.md +0 -82
- package/docs/design/length-neutral-judge-rerun.md +0 -92
- package/docs/design/utilization-window-criteria.md +0 -51
- package/docs/development.md +0 -230
- package/docs/distribution/awesome-list-submission.md +0 -46
- package/docs/distribution/consumer-matrix.md +0 -96
- package/docs/distribution/launch-story-draft.md +0 -58
- package/docs/distribution/mcp-submission-checklist.md +0 -95
- package/docs/distribution/public-install-smoke.md +0 -68
- package/docs/distribution/registries.md +0 -126
- package/docs/distribution/registry-submissions.md +0 -85
- package/docs/distribution/telemetry-privacy.md +0 -128
- package/docs/distribution/telemetry-schema.md +0 -174
- package/docs/distribution/topics-equivalents-decay-policy.md +0 -51
- package/docs/end-to-end-walkthroughs.md +0 -165
- package/docs/enforcement-by-host.md +0 -51
- package/docs/examples/agent-user.example.md +0 -22
- package/docs/experiences/agency.md +0 -49
- package/docs/experiences/content_creator.md +0 -49
- package/docs/experiences/developer.md +0 -49
- package/docs/experiences/finance.md +0 -50
- package/docs/experiences/founder.md +0 -49
- package/docs/experiences/ops.md +0 -49
- package/docs/featured-commands.md +0 -27
- package/docs/featured-skills.md +0 -95
- package/docs/flows.md +0 -67
- package/docs/getting-started-by-role.md +0 -190
- package/docs/getting-started-laravel.md +0 -72
- package/docs/getting-started-local-stdio.md +0 -77
- package/docs/getting-started.md +0 -254
- package/docs/github-topics.md +0 -93
- package/docs/governance-advantage.md +0 -72
- package/docs/governance.md +0 -96
- package/docs/guides/cross-repo-linked-projects.md +0 -93
- package/docs/guides/cross-repo-retrieval.md +0 -61
- package/docs/guides/frontend-design-corpus-refresh.md +0 -83
- package/docs/guides/gated-platform-reads.md +0 -221
- package/docs/guides/local-analytics.md +0 -125
- package/docs/guides/local-knowledge.md +0 -127
- package/docs/guides/skill-discovery.md +0 -71
- package/docs/guides/skill-preview.md +0 -71
- package/docs/hook-payload-capture.md +0 -221
- package/docs/install-friction-report.md +0 -66
- package/docs/installation.md +0 -959
- package/docs/maintainers/branch-protection.md +0 -105
- package/docs/maintainers/dev-mode.md +0 -106
- package/docs/maintainers/optional-media-deps.md +0 -50
- package/docs/maintainers/system-map.md +0 -85
- package/docs/mcp-registries.md +0 -94
- package/docs/mcp-server.md +0 -175
- package/docs/mcp.md +0 -147
- package/docs/media/proof-demo.cast +0 -14
- package/docs/media/proof-demo.gif +0 -0
- package/docs/migration/consumer-template-consumption-model.md +0 -145
- package/docs/migration/divergences/README.md +0 -55
- package/docs/migration/divergences/_template.md +0 -50
- package/docs/migration/divergences/bench-stats-float-precision.md +0 -72
- package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +0 -61
- package/docs/migration/divergences/pack-mcp-content-gzip-body.md +0 -53
- package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +0 -63
- package/docs/migration/divergences/src-scripts-check_memory.md +0 -91
- package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +0 -65
- package/docs/migration/divergences/src-scripts-lint_marketplace.md +0 -57
- package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +0 -70
- package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +0 -60
- package/docs/migration/divergences/src-scripts-validate_agent_settings.md +0 -58
- package/docs/migration/node-floor.md +0 -86
- package/docs/migration/v1-to-v2.md +0 -156
- package/docs/migration/yaml-roundtrip-spike.md +0 -163
- package/docs/migrations/commands-1.15.0.md +0 -117
- package/docs/parity/bench-external.json +0 -58
- package/docs/parity/bench.json +0 -41
- package/docs/parity/command-frontmatter.md +0 -60
- package/docs/parity/external-runtime.md +0 -46
- package/docs/personas.md +0 -178
- package/docs/positioning-evidence.md +0 -86
- package/docs/profiles.md +0 -108
- package/docs/proof.md +0 -252
- package/docs/quality.md +0 -98
- package/docs/readme-split-plan.md +0 -102
- package/docs/recruits/_template.md +0 -81
- package/docs/release-runbook.md +0 -141
- package/docs/role-experiences.md +0 -19
- package/docs/safety.md +0 -30
- package/docs/second-brain-scope.md +0 -116
- package/docs/self-review-gate.md +0 -65
- package/docs/setup/enterprise-and-offline.md +0 -201
- package/docs/setup/mcp-client-config.md +0 -358
- package/docs/setup/mcp-cloud-endpoints.md +0 -116
- package/docs/setup/mcp-cloud-registry-listing.md +0 -99
- package/docs/setup/mcp-cloud-setup.md +0 -183
- package/docs/setup/mcp-r2-bootstrap.md +0 -82
- package/docs/setup/mcp-server-docker.md +0 -101
- package/docs/setup/per-ide/aider.md +0 -48
- package/docs/setup/per-ide/antigravity.md +0 -68
- package/docs/setup/per-ide/augment.md +0 -89
- package/docs/setup/per-ide/claude-code.md +0 -97
- package/docs/setup/per-ide/claude-desktop.md +0 -207
- package/docs/setup/per-ide/cline.md +0 -43
- package/docs/setup/per-ide/codebuddy.md +0 -63
- package/docs/setup/per-ide/codex.md +0 -46
- package/docs/setup/per-ide/continue.md +0 -68
- package/docs/setup/per-ide/copilot.md +0 -80
- package/docs/setup/per-ide/cursor.md +0 -125
- package/docs/setup/per-ide/droid.md +0 -65
- package/docs/setup/per-ide/gemini-cli.md +0 -45
- package/docs/setup/per-ide/jetbrains.md +0 -76
- package/docs/setup/per-ide/kilocode.md +0 -66
- package/docs/setup/per-ide/kiro.md +0 -72
- package/docs/setup/per-ide/opencode.md +0 -62
- package/docs/setup/per-ide/qoder.md +0 -63
- package/docs/setup/per-ide/roocode.md +0 -68
- package/docs/setup/per-ide/trae.md +0 -63
- package/docs/setup/per-ide/warp.md +0 -63
- package/docs/setup/per-ide/windsurf.md +0 -109
- package/docs/setup/per-ide/zed.md +0 -73
- package/docs/showcase.md +0 -209
- package/docs/skill-duplication-findings.md +0 -91
- package/docs/skills-catalog.md +0 -265
- package/docs/skills-taxonomy.md +0 -90
- package/docs/spawn-site-policy.md +0 -72
- package/docs/succession.md +0 -80
- package/docs/threat-model.md +0 -30
- package/docs/troubleshooting.md +0 -155
- package/docs/ui-track-mental-model.md +0 -121
- package/docs/us-vs-the-category.md +0 -38
- package/docs/value.md +0 -86
- package/docs/walkthroughs/assets/workspace-role-grid.png +0 -0
- package/docs/walkthroughs/assets/workspace-session-started.png +0 -0
- package/docs/walkthroughs/assets/workspace-task-picker.png +0 -0
- package/docs/walkthroughs/daily-workspace-a11y.md +0 -87
- package/docs/walkthroughs/daily-workspace.md +0 -127
- package/docs/wedge/production-validator/README.md +0 -81
- package/docs/wedge/production-validator/first-run-check.sh +0 -42
- package/docs/wedge/production-validator/production-validator.md +0 -83
- package/docs/wizard.md +0 -173
- package/src/scripts/postinstall_gui.ts +0 -129
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-12
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# File-ownership matrix
|
|
7
|
-
|
|
8
|
-
> **Audience:** roadmap authors, phase reviewers, and CI gate writers
|
|
9
|
-
> who need to know which artefact reads which, and whether two phases
|
|
10
|
-
> can run concurrently without colliding.
|
|
11
|
-
> **Generator:** `scripts/generate_ownership_matrix.py`
|
|
12
|
-
> (run via `task generate-ownership-matrix`).
|
|
13
|
-
> **Validator:** `task check-ownership-matrix` (fails if the JSON drifts
|
|
14
|
-
> from a fresh regeneration).
|
|
15
|
-
> **Companion contracts:** [`load-context-schema.md`](load-context-schema.md),
|
|
16
|
-
> [`context-paths.md`](context-paths.md).
|
|
17
|
-
|
|
18
|
-
This contract defines the **schema** of the file-ownership matrix: the
|
|
19
|
-
machine-readable JSON at `docs/contracts/file-ownership-matrix.json` and
|
|
20
|
-
the human-readable mirror at
|
|
21
|
-
`agents/settings/contexts/structural/file-ownership-matrix.md`. Both are
|
|
22
|
-
regenerated from `.agent-src.uncondensed/` by the generator and locked
|
|
23
|
-
by CI.
|
|
24
|
-
|
|
25
|
-
**Status:** internal-locked (`stability: beta`). Schema bumps require a
|
|
26
|
-
contract version increment plus a roadmap revision (per
|
|
27
|
-
`road-to-structural-optimization.md` § 0.1).
|
|
28
|
-
|
|
29
|
-
## Why the matrix exists
|
|
30
|
-
|
|
31
|
-
`road-to-structural-optimization` Phase 0.1 (CRITICAL) is the DAG
|
|
32
|
-
successor of Phase 0.6 (path conventions). Subsequent phases (1, 2A,
|
|
33
|
-
2B, 3, 6) extract material into context files, slim rules, and reorder
|
|
34
|
-
command surface. The matrix is the substrate that lets later phases
|
|
35
|
-
ask three questions deterministically:
|
|
36
|
-
|
|
37
|
-
1. **Which files does my edit reach transitively?** Answered by the
|
|
38
|
-
`READ_ONLY` edges plus their depth-2 closure.
|
|
39
|
-
2. **Can Phase X and Phase Y land in either order?** Answered by
|
|
40
|
-
intersecting per-phase `WRITE` sets — empty intersection = safe.
|
|
41
|
-
3. **Has the matrix drifted since the last green CI run?** Answered by
|
|
42
|
-
the `check-ownership-matrix` consistency gate.
|
|
43
|
-
|
|
44
|
-
## Schema (v1)
|
|
45
|
-
|
|
46
|
-
The JSON document is a single object:
|
|
47
|
-
|
|
48
|
-
```json
|
|
49
|
-
{
|
|
50
|
-
"version": 1,
|
|
51
|
-
"generated_by": "scripts/generate_ownership_matrix.py",
|
|
52
|
-
"source_of_truth": ".agent-src.uncondensed/",
|
|
53
|
-
"files": {
|
|
54
|
-
"<repo-root-relative path>": {
|
|
55
|
-
"kind": "rule | skill | command | context | persona",
|
|
56
|
-
"rule_type": "always | auto | manual | null",
|
|
57
|
-
"load_context": ["<path>", ...],
|
|
58
|
-
"load_context_eager": ["<path>", ...]
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
"edges": [
|
|
62
|
-
{
|
|
63
|
-
"source": "<path>",
|
|
64
|
-
"target": "<path>",
|
|
65
|
-
"type": "READ_ONLY | WRITE | BLOCKS_IF_CONCURRENT",
|
|
66
|
-
"via": "load_context | load_context_eager | load_context_transitive | body_link",
|
|
67
|
-
"depth": 1
|
|
68
|
-
}
|
|
69
|
-
]
|
|
70
|
-
}
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
**Edge types**
|
|
74
|
-
|
|
75
|
-
| Type | Meaning | Populated in v1 |
|
|
76
|
-
|---|---|:-:|
|
|
77
|
-
| `READ_ONLY` | Source file reads target (frontmatter declaration or body markdown link). | ✅ |
|
|
78
|
-
| `WRITE` | Source file owns target. Self-edge for every file (`source == target`). | ✅ |
|
|
79
|
-
| `BLOCKS_IF_CONCURRENT` | Two phases would write the same file. Derived later from a phase manifest; reserved in v1. | ⏳ |
|
|
80
|
-
|
|
81
|
-
**Edge `via` values**
|
|
82
|
-
|
|
83
|
-
- `load_context` — frontmatter `load_context:` entry (lazy).
|
|
84
|
-
- `load_context_eager` — frontmatter `load_context_eager:` entry.
|
|
85
|
-
- `load_context_transitive` — depth-2 hop reached by following a target's own
|
|
86
|
-
`load_context*` declarations one level deeper.
|
|
87
|
-
- `body_link` — markdown link in body to a path inside one of the
|
|
88
|
-
scanned roots.
|
|
89
|
-
|
|
90
|
-
## Depth invariant (G2 — v3.1)
|
|
91
|
-
|
|
92
|
-
The generator computes the transitive closure of `load_context` /
|
|
93
|
-
`load_context_eager` edges **up to depth 2**. Any chain
|
|
94
|
-
`R → A → B → C` where every hop is a `load_context*` edge **fails the
|
|
95
|
-
build** with exit code 2. This duplicates the same nesting cap that
|
|
96
|
-
Phase 0.2.4 will enforce in `scripts/check_always_budget.py` — two
|
|
97
|
-
enforcement points, one invariant.
|
|
98
|
-
|
|
99
|
-
## Regeneration policy
|
|
100
|
-
|
|
101
|
-
| Trigger | What runs | What fails |
|
|
102
|
-
|---|---|---|
|
|
103
|
-
| `task generate-ownership-matrix` | Regenerates JSON + MD in place. | Depth-3 chain → exit 2. |
|
|
104
|
-
| `task check-ownership-matrix` (CI) | Regenerates to memory, diffs against committed JSON. | Diff non-empty → exit 1. Depth-3 → exit 2. |
|
|
105
|
-
| Pre-commit hook (Phase 2A — A1 fix) | Future: regenerate and diff on commits that touch contexts. | Same as `check-ownership-matrix`. |
|
|
106
|
-
|
|
107
|
-
Any commit that adds, moves, or modifies a context, rule, skill, or
|
|
108
|
-
command MUST regenerate the matrix in the same commit. CI is the
|
|
109
|
-
backstop; the consistency gate fails if regeneration drifts.
|
|
110
|
-
|
|
111
|
-
## Scope notes (v1)
|
|
112
|
-
|
|
113
|
-
- **Greppable surface:** `rules/`, `skills/`, `commands/`, `contexts/`,
|
|
114
|
-
`personas/` under `.agent-src.uncondensed/`. Generated tool
|
|
115
|
-
projections (`.augment/`, `.claude/`, `.cursor/`, …) are intentionally
|
|
116
|
-
ignored — they are downstream of the source of truth.
|
|
117
|
-
- **`skill:` frontmatter in rules** (named in roadmap 0.1.2) is reserved.
|
|
118
|
-
No rules currently declare it; the generator scans for it but emits
|
|
119
|
-
zero edges of that kind in v1.
|
|
120
|
-
- **Body link parser** is conservative: it only recognises markdown
|
|
121
|
-
link targets ending in `.md` whose path resolves under one of the
|
|
122
|
-
scanned roots. Bare backtick-name references (e.g., `` `skill-quality` ``)
|
|
123
|
-
are **not** edges in v1; they are too ambiguous to attribute.
|
|
124
|
-
- **Cycles** are not the matrix's concern — the existing
|
|
125
|
-
`lint_load_context.py` rejects them. The matrix generator follows
|
|
126
|
-
edges with a visited-set so a cycle, if one slipped through, cannot
|
|
127
|
-
loop forever; it would surface as a depth-3 abort.
|
|
128
|
-
|
|
129
|
-
## Versioning
|
|
130
|
-
|
|
131
|
-
`version: 1` is the initial lock. Schema-breaking changes (renaming a
|
|
132
|
-
field, removing an edge type, changing semantics of an existing
|
|
133
|
-
`via`) require a version bump and a roadmap revision. Additive changes
|
|
134
|
-
(new `via` values, new optional file fields) MAY land at the current
|
|
135
|
-
version with a `CHANGELOG.md` entry under `### Beta`.
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-19
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Per-artefact frontmatter contract
|
|
7
|
-
|
|
8
|
-
> Companion to [`ADR-013`](../decisions/ADR-013-discovery-frontmatter-contract.md)
|
|
9
|
-
> and [`discovery-manifest.schema.json`](discovery-manifest.schema.json). The
|
|
10
|
-
> ADR is the decision; this file is the worked-example reference linters,
|
|
11
|
-
> installer, and contributors cite at runtime.
|
|
12
|
-
|
|
13
|
-
Every `.md` artefact under `.agent-src.uncondensed/` MUST declare the five
|
|
14
|
-
ADR-013 discovery keys. The release-time manifest builder
|
|
15
|
-
(`scripts/build_discovery_manifest.py`) derives all workspace/pack assignment
|
|
16
|
-
from these alone — **no manual workspace or pack list is ever maintained**.
|
|
17
|
-
|
|
18
|
-
## Required keys
|
|
19
|
-
|
|
20
|
-
| Key | Type | Vocabulary | Source |
|
|
21
|
-
|---|---|---|---|
|
|
22
|
-
| `workspaces` | `array<string>`, ≥1 | [`src/config/discovery/workspaces.yml`](../../config/discovery/workspaces.yml) | role-based axis |
|
|
23
|
-
| `packs` | `array<string>`, ≥1 | [`src/config/discovery/packs.yml`](../../config/discovery/packs.yml) | functional axis |
|
|
24
|
-
| `lifecycle` | enum | `active` · `experimental` · `deprecated` · `archived` | review cycle |
|
|
25
|
-
| `trust.level` | enum | `core` · `professional` · `experimental` · `advisory` · `restricted` | safety gate |
|
|
26
|
-
| `trust.confidence` | enum | `high` · `medium` · `low` | curator signal |
|
|
27
|
-
| `trust.human_review_required` | bool | — | reviewer routing |
|
|
28
|
-
| `install.default` | bool | — | ships-by-default toggle |
|
|
29
|
-
| `install.removable` | bool | — | core / removable axis |
|
|
30
|
-
|
|
31
|
-
Vocabularies are **closed**. New entries require an amendment to
|
|
32
|
-
[`ADR-013`](../decisions/ADR-013-discovery-frontmatter-contract.md) in the
|
|
33
|
-
same PR. The linter
|
|
34
|
-
([`scripts/lint_artefact_frontmatter.py`](../../src/scripts/lint_artefact_frontmatter.py))
|
|
35
|
-
rejects free-text values.
|
|
36
|
-
|
|
37
|
-
## Worked examples
|
|
38
|
-
|
|
39
|
-
### Skill — `laravel/SKILL.md`
|
|
40
|
-
|
|
41
|
-
```yaml
|
|
42
|
-
---
|
|
43
|
-
name: laravel
|
|
44
|
-
description: "Writes Laravel PHP — Eloquent, Artisan, FormRequests, jobs, policies."
|
|
45
|
-
source: package
|
|
46
|
-
domain: engineering
|
|
47
|
-
workspaces:
|
|
48
|
-
- engineering
|
|
49
|
-
packs:
|
|
50
|
-
- laravel
|
|
51
|
-
lifecycle: active
|
|
52
|
-
trust:
|
|
53
|
-
level: professional
|
|
54
|
-
confidence: high
|
|
55
|
-
human_review_required: false
|
|
56
|
-
install:
|
|
57
|
-
default: false
|
|
58
|
-
removable: true
|
|
59
|
-
---
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Rule — `rules/commit-policy.md`
|
|
63
|
-
|
|
64
|
-
```yaml
|
|
65
|
-
---
|
|
66
|
-
type: "always"
|
|
67
|
-
tier: "safety-floor"
|
|
68
|
-
description: "Commit policy — never commit unless explicitly authorized this turn."
|
|
69
|
-
alwaysApply: true
|
|
70
|
-
source: package
|
|
71
|
-
workspaces:
|
|
72
|
-
- engineering
|
|
73
|
-
packs:
|
|
74
|
-
- engineering-base
|
|
75
|
-
lifecycle: active
|
|
76
|
-
trust:
|
|
77
|
-
level: core
|
|
78
|
-
confidence: high
|
|
79
|
-
human_review_required: false
|
|
80
|
-
install:
|
|
81
|
-
default: true
|
|
82
|
-
removable: false
|
|
83
|
-
---
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### Command — `commands/cost/report.md`
|
|
87
|
-
|
|
88
|
-
```yaml
|
|
89
|
-
---
|
|
90
|
-
name: cost-report
|
|
91
|
-
tier: 2
|
|
92
|
-
description: "Capture token cost from the active session and surface the 50/75/90/100% budget ladder."
|
|
93
|
-
workspaces:
|
|
94
|
-
- agent-config-maintainer
|
|
95
|
-
packs:
|
|
96
|
-
- meta
|
|
97
|
-
lifecycle: active
|
|
98
|
-
trust:
|
|
99
|
-
level: core
|
|
100
|
-
confidence: high
|
|
101
|
-
human_review_required: false
|
|
102
|
-
install:
|
|
103
|
-
default: true
|
|
104
|
-
removable: false
|
|
105
|
-
---
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
## Quarantine
|
|
109
|
-
|
|
110
|
-
Artefacts that genuinely cannot yet carry frontmatter (early scaffolds,
|
|
111
|
-
generated stubs) MUST be listed in
|
|
112
|
-
[`src/config/discovery/unassigned-artefacts.yml`](../../config/discovery/unassigned-artefacts.yml)
|
|
113
|
-
with a `reason`. A quarantined entry MUST NOT also carry the five keys —
|
|
114
|
-
the linter rejects that collision.
|
|
115
|
-
|
|
116
|
-
## Enforcement
|
|
117
|
-
|
|
118
|
-
| Surface | What runs | When |
|
|
119
|
-
|---|---|---|
|
|
120
|
-
| Local | `task lint-artefact-frontmatter` | manual / pre-commit |
|
|
121
|
-
| Pre-commit | `pre-commit-roadmap-progress` template | when `.agent-src.uncondensed/*.md`, `src/config/discovery/*.yml`, or the linter itself is staged |
|
|
122
|
-
| CI | `task ci` → `lint-artefact-frontmatter` | every push / PR |
|
|
123
|
-
|
|
124
|
-
Install the pre-commit hook with:
|
|
125
|
-
|
|
126
|
-
```bash
|
|
127
|
-
./agent-config hooks:install # combined hook (roadmap + frontmatter)
|
|
128
|
-
./agent-config hooks:install --print # dump to stdout for manual chaining
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
The hook is opt-in per concern — it short-circuits when no relevant files
|
|
132
|
-
are staged.
|
|
133
|
-
|
|
134
|
-
## Roundtrip invariant
|
|
135
|
-
|
|
136
|
-
Frontmatter survives the `task sync` condensation pipeline. Path-bearing
|
|
137
|
-
keys (`load_context`) may be rewritten relative to the projected location,
|
|
138
|
-
but the five Phase-1 keys above are byte-stable between
|
|
139
|
-
`.agent-src.uncondensed/`, `dist/agent-src/`, and `.augment/`. Enforced by
|
|
140
|
-
`tests/test_frontmatter_roundtrip.py`.
|
|
@@ -1,337 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-13
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# `ghostwriter/<slug>.md` schema (v1)
|
|
7
|
-
|
|
8
|
-
> **Status:** beta — locked for the `/ghostwriter` cluster roadmap.
|
|
9
|
-
> Re-evaluate fields after the cluster has shipped + been in use
|
|
10
|
-
> for ≥ 1 week.
|
|
11
|
-
|
|
12
|
-
A **ghostwriter profile** is a single Markdown file that captures the
|
|
13
|
-
public writing voice of a documented public figure so the `/ghostwriter:write`
|
|
14
|
-
and `/post-as:ghostwriter` commands can emit copyable drafts in that
|
|
15
|
-
voice. Ghostwriter is the third voice primitive in the package, peer
|
|
16
|
-
to `personas/*.md` (review-lens, internal) and `.agent-user.md` (the
|
|
17
|
-
maintainer themselves).
|
|
18
|
-
|
|
19
|
-
The file is owned by the user. The agent never edits it without an
|
|
20
|
-
explicit `accept` step on `/ghostwriter:fetch` re-runs.
|
|
21
|
-
|
|
22
|
-
## Storage model (dual)
|
|
23
|
-
|
|
24
|
-
- **Consumer projects** — `agents/reference/ghostwriter/<slug>.md`. Real-person
|
|
25
|
-
profiles live here. **Gitignored by default** via the package-managed
|
|
26
|
-
`.gitignore` block. A `--shared` opt-in to commit profiles is
|
|
27
|
-
deferred to v2; only the doc note lands in v1.
|
|
28
|
-
- **Package source** — `.agent-src.uncondensed/ghostwriter/` ships
|
|
29
|
-
the README, this schema doc, and `fictional: true` fixtures only.
|
|
30
|
-
**Zero real-person profiles ever ship with the OSS package.** A CI
|
|
31
|
-
lint (`task lint-ghostwriter-source`) enforces this rule by failing
|
|
32
|
-
on any non-allowlisted file or any file lacking the `fictional: true`
|
|
33
|
-
frontmatter key.
|
|
34
|
-
|
|
35
|
-
Slug = full-name kebab-case (`alice-walker`). Optional `-<discriminator>`
|
|
36
|
-
suffix for disambiguation (`alice-walker-novelist` vs `alice-walker-cyclist`).
|
|
37
|
-
Namespace conflict resolution is consumer-owned — the package does not
|
|
38
|
-
deduplicate across consumers.
|
|
39
|
-
|
|
40
|
-
## Locked frontmatter (v1)
|
|
41
|
-
|
|
42
|
-
```yaml
|
|
43
|
-
---
|
|
44
|
-
version: 1
|
|
45
|
-
fictional: false # required — true for package-side fixtures, false for real-person consumer profiles
|
|
46
|
-
identity:
|
|
47
|
-
name: "Alice Walker" # required — public name
|
|
48
|
-
role_or_title: "novelist" # required — short role label
|
|
49
|
-
era: "1944–" # optional — birth–death range; "1944–" if living
|
|
50
|
-
public_figure_category: "public_artist" # required — enum below
|
|
51
|
-
source_urls: # required — public sources only, ≥ 3 distinct items
|
|
52
|
-
- "https://example.org/walker/interview-1"
|
|
53
|
-
- "https://example.org/walker/essay-collection"
|
|
54
|
-
- "https://example.org/walker/lecture-2018"
|
|
55
|
-
fetched_at: "2026-05-15" # required — ISO date of last fetch
|
|
56
|
-
confidence: "med" # required — low | med | high (see § Confidence)
|
|
57
|
-
attestation_recorded_at: "2026-05-15T10:00:00Z" # required — when the user attested (NOT consent, see § Ethics floor)
|
|
58
|
-
aliases: # optional, consumer-only — alternative names that resolve to this slug
|
|
59
|
-
- "Hawking" # case-insensitive match, case-preserving storage
|
|
60
|
-
- "Prof. Hawking" # min 2 chars, no homoglyphs (see § Aliases)
|
|
61
|
-
style:
|
|
62
|
-
fingerprint:
|
|
63
|
-
sentence_length_avg: 18 # avg words per sentence across samples
|
|
64
|
-
vocab_register: "literary" # casual | conversational | professional | literary | academic
|
|
65
|
-
opener_patterns: ["personal anecdote", "rhetorical question"]
|
|
66
|
-
closer_patterns: ["call to reflection", "quoted aphorism"]
|
|
67
|
-
hashtag_rules: "never" # always | sometimes | never
|
|
68
|
-
emoji_rules: "never" # always | sometimes | never
|
|
69
|
-
paragraph_cadence: "long-form, 4–6 sentence paragraphs"
|
|
70
|
-
free_form_notes: |
|
|
71
|
-
Tends to weave personal narrative with broader social observation.
|
|
72
|
-
Rarely uses imperatives; prefers invitations.
|
|
73
|
-
voice_samples: # required — max 3 items, each ≤ 200 words, source-attributed
|
|
74
|
-
- source_url: "https://example.org/walker/interview-1"
|
|
75
|
-
length_words: 142
|
|
76
|
-
text: |
|
|
77
|
-
[actual public excerpt, max 200 words]
|
|
78
|
-
taboos: # required — what the target never does in public writing
|
|
79
|
-
- "political endorsements"
|
|
80
|
-
- "profanity"
|
|
81
|
-
- "hashtag-driven posts"
|
|
82
|
-
source_provenance: # required
|
|
83
|
-
count: 3 # number of distinct source URLs
|
|
84
|
-
last_fetched_at: "2026-05-15"
|
|
85
|
-
types: ["interview", "essay", "lecture"] # platforms/formats represented
|
|
86
|
-
verification: "fetched" # required — fetched | user-asserted (see § Verification)
|
|
87
|
-
last_updated: "2026-05-15" # YYYY-MM-DD — bumped on every accepted change
|
|
88
|
-
---
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
After the frontmatter, the body is a single freeform **`# Notes`**
|
|
92
|
-
section for the user's own observations on the profile. Hard cap:
|
|
93
|
-
**200 lines** total file size (frontmatter + body + Notes).
|
|
94
|
-
|
|
95
|
-
## Field reference
|
|
96
|
-
|
|
97
|
-
| Field | Required | Purpose |
|
|
98
|
-
|---|---|---|
|
|
99
|
-
| `version` | yes | Schema version. v1 is the only valid value today. |
|
|
100
|
-
| `fictional` | yes | `true` for package fixtures, `false` for real-person consumer profiles. Drives `task lint-ghostwriter-source`. |
|
|
101
|
-
| `identity.name` | yes | Public name of the figure. |
|
|
102
|
-
| `identity.role_or_title` | yes | Short role label (novelist, executive, …). |
|
|
103
|
-
| `identity.era` | no | Birth–death range. Trailing `–` for living figures. |
|
|
104
|
-
| `identity.public_figure_category` | yes | Enum: `author` \| `executive` \| `academic` \| `politician` \| `journalist` \| `public_speaker` \| `public_artist` \| `deceased_historical`. |
|
|
105
|
-
| `identity.source_urls` | yes | ≥ 3 public source URLs. Drives `confidence`. |
|
|
106
|
-
| `identity.fetched_at` | yes | ISO date of the most recent fetch. |
|
|
107
|
-
| `identity.confidence` | yes | `low` \| `med` \| `high` — derived from source count/diversity. |
|
|
108
|
-
| `identity.attestation_recorded_at` | yes | ISO timestamp the user attested the public-figure gate. |
|
|
109
|
-
| `aliases` | no | Consumer-only list of alternative names that resolve to this profile's slug. See [§ Aliases](#aliases). Banned on `fictional: true` fixtures. |
|
|
110
|
-
| `style.fingerprint.*` | yes | Structured shape of the voice. All sub-fields required. |
|
|
111
|
-
| `style.free_form_notes` | yes | Free-form supplement to the structured fingerprint. |
|
|
112
|
-
| `voice_samples` | yes | Max 3 items; each `≤ 200 words`; each source-attributed. |
|
|
113
|
-
| `taboos` | yes | What the target never does — feeds the write engine's negative-constraint pass. |
|
|
114
|
-
| `source_provenance.count` | yes | Distinct source URLs. |
|
|
115
|
-
| `source_provenance.last_fetched_at` | yes | ISO date — drives the 90-day stale warning. |
|
|
116
|
-
| `source_provenance.types` | yes | Platforms/formats (interview, essay, post, book, …). |
|
|
117
|
-
| `source_provenance.verification` | yes | `fetched` (host agent retrieved) \| `user-asserted` (user pasted; not verifiable). |
|
|
118
|
-
| `last_updated` | yes | ISO date, bumped on every accept. |
|
|
119
|
-
|
|
120
|
-
## Confidence
|
|
121
|
-
|
|
122
|
-
Derived deterministically from `source_provenance.count` and `types`:
|
|
123
|
-
|
|
124
|
-
| Sources × types | Confidence |
|
|
125
|
-
|---|---|
|
|
126
|
-
| 3 sources, same platform | `low` |
|
|
127
|
-
| 3+ sources, 2+ platforms | `med` |
|
|
128
|
-
| 5+ sources, 3+ platforms, ≥ 1 canonical (Wikipedia / official site / published book) | `high` |
|
|
129
|
-
|
|
130
|
-
`/ghostwriter:fetch` refuses to write a profile with fewer than 3 distinct
|
|
131
|
-
authoritative sources.
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
## Aliases
|
|
135
|
-
|
|
136
|
-
`aliases` is an **optional, consumer-only** field listing alternative
|
|
137
|
-
names that resolve to this profile's slug. It is a portability win
|
|
138
|
-
over per-user shell aliases — team-shared profiles become immediately
|
|
139
|
-
usable without per-developer config.
|
|
140
|
-
|
|
141
|
-
The list is read by `/ghostwriter:write --as=<value>` (and the
|
|
142
|
-
`/post-as:ghostwriter` thin alias) when resolving the style source:
|
|
143
|
-
|
|
144
|
-
1. Exact slug match (case-insensitive on filename stem).
|
|
145
|
-
2. **If no slug match**, scan every consumer profile's `aliases` list
|
|
146
|
-
for a case-insensitive equality match against `<value>`.
|
|
147
|
-
3. If neither matches, fall through to the interactive numbered menu.
|
|
148
|
-
|
|
149
|
-
### Storage rules
|
|
150
|
-
|
|
151
|
-
- **Case-insensitive match, case-preserving storage** — the resolver
|
|
152
|
-
treats `--as=hawking` and `--as=Hawking` as identical, but the YAML
|
|
153
|
-
preserves the author's chosen casing.
|
|
154
|
-
- **Minimum length: 2 characters** — single-character aliases are
|
|
155
|
-
collision magnets and are rejected by the consumer-side lint.
|
|
156
|
-
- **No homoglyphs** — aliases must use Latin script (ASCII letters,
|
|
157
|
-
digits, common punctuation, common Latin diacritics). Cyrillic,
|
|
158
|
-
Greek, or other confusable scripts are rejected. Prevents spoofing
|
|
159
|
-
like `Stephеn` (Cyrillic `е`) shadowing `Stephen`.
|
|
160
|
-
- **Case-insensitive uniqueness within a profile** — a single profile
|
|
161
|
-
cannot list both `"Hawking"` and `"hawking"`.
|
|
162
|
-
- **Case-insensitive uniqueness across consumer profiles** — two
|
|
163
|
-
different profiles in the same consumer tree cannot share an alias
|
|
164
|
-
(including alias-vs-slug collisions). Conflicts fail the consumer-side
|
|
165
|
-
lint (Option B — lint-time rejection, never a runtime disambiguation
|
|
166
|
-
menu). Determinism contract trumps UX convenience.
|
|
167
|
-
|
|
168
|
-
### Footer integrity (canonical name only)
|
|
169
|
-
|
|
170
|
-
The mandatory [disclosure footer](#mandatory-disclosure-footer-deterministic)
|
|
171
|
-
**always** uses `identity.name`, never the alias that triggered the
|
|
172
|
-
command. A user invoking `/ghostwriter:write --as=Hawking` against a
|
|
173
|
-
profile with `identity.name: "Stephen Hawking"` produces a footer
|
|
174
|
-
reading *"Written in the style of Stephen Hawking, not by them."* —
|
|
175
|
-
not *"…of Hawking, not by them."* This makes aliases UX-only; identity
|
|
176
|
-
attribution stays deterministic.
|
|
177
|
-
|
|
178
|
-
### Package-source ban
|
|
179
|
-
|
|
180
|
-
`aliases:` is **forbidden** on any file with `fictional: true`. Package
|
|
181
|
-
fixtures are schema examples for a single canonical name; aliases are a
|
|
182
|
-
consumer-only deployment feature. The package-source lint
|
|
183
|
-
(`task lint-ghostwriter-source`) fails on `aliases:` in
|
|
184
|
-
`.agent-src.uncondensed/ghostwriter/`.
|
|
185
|
-
|
|
186
|
-
### Settings toggle (consumer-only)
|
|
187
|
-
|
|
188
|
-
The consumer enables alias resolution via `.agent-project-settings.yml`:
|
|
189
|
-
|
|
190
|
-
```yaml
|
|
191
|
-
ghostwriter:
|
|
192
|
-
aliases: true # default: true — set to false to disable resolver
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
Toggling `aliases: false` makes `/ghostwriter:write --as=<value>` resolve
|
|
196
|
-
against slug names only; any `aliases:` entries in profiles are ignored
|
|
197
|
-
at resolve time (but the lint still validates them on commit).
|
|
198
|
-
|
|
199
|
-
## Verification
|
|
200
|
-
|
|
201
|
-
`source_provenance.verification` distinguishes two acquisition paths:
|
|
202
|
-
|
|
203
|
-
- `fetched` — the host agent retrieved the source URLs via its built-in
|
|
204
|
-
web-fetch / web-search capability. Default for `/ghostwriter:fetch`.
|
|
205
|
-
- `user-asserted` — the host agent could not fetch and the user pasted
|
|
206
|
-
the material manually. The package cannot independently verify these
|
|
207
|
-
sources. `/ghostwriter:show` surfaces user-asserted profiles with a
|
|
208
|
-
visible `⚠️ user-asserted sources — not independently verified` line.
|
|
209
|
-
|
|
210
|
-
This split exists because the package contains zero network code (see
|
|
211
|
-
[§ Determinism floor](#determinism-floor)); the agent cannot otherwise
|
|
212
|
-
distinguish first-party fetch from paste-and-trust.
|
|
213
|
-
|
|
214
|
-
## Ethics floor
|
|
215
|
-
|
|
216
|
-
### Public-figure-only gate (advisory)
|
|
217
|
-
|
|
218
|
-
Before `/ghostwriter:fetch` writes any file, the user must explicitly
|
|
219
|
-
attest that:
|
|
220
|
-
|
|
221
|
-
1. The target is a documented public figure with a public-facing role
|
|
222
|
-
matching `public_figure_category`.
|
|
223
|
-
2. The source URLs are public, not paywalled, not login-walled, not
|
|
224
|
-
leaked, not retracted.
|
|
225
|
-
3. The user accepts the right-of-publicity and defamation surface — the
|
|
226
|
-
user owns the legal call, not the package.
|
|
227
|
-
4. The user understands the disclosure footer on every `/ghostwriter:write`
|
|
228
|
-
output is non-removable.
|
|
229
|
-
|
|
230
|
-
The attestation timestamp is recorded in `identity.attestation_recorded_at`.
|
|
231
|
-
|
|
232
|
-
**The gate is advisory by design.** The package has no network code and
|
|
233
|
-
cannot verify the target's public-figure status against Wikidata or any
|
|
234
|
-
external source. The user's attestation is a documented user-asserted
|
|
235
|
-
checkpoint, not legal consent on the figure's behalf — for living
|
|
236
|
-
figures, no consent path exists short of direct opt-in (deferred to v2).
|
|
237
|
-
|
|
238
|
-
### Mandatory disclosure footer (deterministic)
|
|
239
|
-
|
|
240
|
-
Every `/ghostwriter:write` and `/post-as:ghostwriter` output ends with
|
|
241
|
-
this literal footer:
|
|
242
|
-
|
|
243
|
-
```
|
|
244
|
-
Written in the style of <identity.name>, not by them.
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
The footer is appended by the command's procedural output template as
|
|
248
|
-
a literal string — **not** generated by the model. There is no
|
|
249
|
-
`--no-disclosure` flag. The acceptance criteria grep-verify the absence
|
|
250
|
-
of any opt-out flag in the command source.
|
|
251
|
-
|
|
252
|
-
### Banned content (always)
|
|
253
|
-
|
|
254
|
-
Even for documented public figures, `/ghostwriter:fetch` refuses:
|
|
255
|
-
|
|
256
|
-
- Leaked drafts or material marked private / draft / internal.
|
|
257
|
-
- Paywalled or login-walled content.
|
|
258
|
-
- Private DMs, private email leaks, retracted posts.
|
|
259
|
-
- Medical, financial, or legal data attributed to the figure.
|
|
260
|
-
- Opinions the figure has not publicly stated.
|
|
261
|
-
|
|
262
|
-
### Excluded targets
|
|
263
|
-
|
|
264
|
-
Private individuals (a random LinkedIn user who is not a public figure)
|
|
265
|
-
remain out of scope. This carve-out only widens the persona-roadmap's
|
|
266
|
-
"no third-party PII" floor for documented public figures, never for
|
|
267
|
-
anyone else.
|
|
268
|
-
|
|
269
|
-
## Determinism floor (inherited)
|
|
270
|
-
|
|
271
|
-
The `agent-config` package contains **zero network code**. `/ghostwriter:fetch`
|
|
272
|
-
is a procedural document that delegates the fetch or search to the host
|
|
273
|
-
agent's built-in capability. The package only reads the returned data
|
|
274
|
-
and proposes a diff for user acceptance.
|
|
275
|
-
|
|
276
|
-
## Staleness
|
|
277
|
-
|
|
278
|
-
When `source_provenance.last_fetched_at` is older than 90 days, any
|
|
279
|
-
`/ghostwriter:*` command surfaces a one-line warning (non-blocking):
|
|
280
|
-
|
|
281
|
-
```
|
|
282
|
-
⚠️ ghostwriter/<slug>.md was last fetched YYYY-MM-DD (>90 days ago). Run /ghostwriter:fetch <slug> --force-refresh.
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
## Re-fetch flow
|
|
286
|
-
|
|
287
|
-
`/ghostwriter:fetch` on an existing slug routes through a diff-and-accept
|
|
288
|
-
flow mirroring `/agents user accept` — the user reviews the proposed
|
|
289
|
-
diff before any write. `--force-refresh` rebuilds the profile from scratch
|
|
290
|
-
instead of merging.
|
|
291
|
-
|
|
292
|
-
## Lint enforcement (`task lint-ghostwriter-source`)
|
|
293
|
-
|
|
294
|
-
The lint runs in `task ci` and fails on:
|
|
295
|
-
|
|
296
|
-
1. Any file under `.agent-src.uncondensed/ghostwriter/` whose stem is
|
|
297
|
-
**not** on the fixture allowlist (`scripts/ghostwriter_fixture_allowlist.txt`).
|
|
298
|
-
2. Any allowlisted file missing `fictional: true` in frontmatter.
|
|
299
|
-
3. Any package-source file (`fictional: true`) carrying an `aliases:`
|
|
300
|
-
field (aliases are a consumer-only feature; see [§ Aliases](#aliases)).
|
|
301
|
-
4. Any consumer-side file under `agents/reference/ghostwriter/` with `fictional: true`
|
|
302
|
-
(fictional profiles belong in the package source, not consumer trees).
|
|
303
|
-
5. Any consumer-side `aliases:` entry that violates the storage rules:
|
|
304
|
-
shorter than 2 characters, non-Latin scripts (homoglyph protection),
|
|
305
|
-
duplicate within a profile (case-insensitive), or colliding across
|
|
306
|
-
profiles (case-insensitive — alias-vs-alias or alias-vs-slug).
|
|
307
|
-
|
|
308
|
-
New package-side fixtures require updating the allowlist + reviewer
|
|
309
|
-
sign-off.
|
|
310
|
-
|
|
311
|
-
## Commands
|
|
312
|
-
|
|
313
|
-
| Command | Role |
|
|
314
|
-
|---|---|
|
|
315
|
-
| `/ghostwriter:fetch` | Creates or refreshes a profile from URL or name input. Runs the public-figure gate. |
|
|
316
|
-
| `/ghostwriter:write` | Generates a draft in the chosen voice. Appends the mandatory disclosure footer. |
|
|
317
|
-
| `/ghostwriter:list` | Numbered listing of available profiles. |
|
|
318
|
-
| `/ghostwriter:show` | Read-only render of one profile. |
|
|
319
|
-
| `/ghostwriter:delete` | Two-step confirmation, hard-deletes the file. |
|
|
320
|
-
| `/post-as:me` | Separate top-level command. Reads `.agent-user.md`; shares the write engine. |
|
|
321
|
-
| `/post-as:ghostwriter` | Thin alias to `/ghostwriter:write`. |
|
|
322
|
-
|
|
323
|
-
See [`command-clusters.md`](command-clusters.md) for the locked
|
|
324
|
-
cluster registration.
|
|
325
|
-
|
|
326
|
-
## Gitignore
|
|
327
|
-
|
|
328
|
-
`agents/reference/ghostwriter/*.md` (except `README.md`) is added to the
|
|
329
|
-
package-managed `.gitignore` block ([`src/config/gitignore-block.txt`](../../config/gitignore-block.txt))
|
|
330
|
-
and ignored by default. A `--shared` opt-in to commit profiles is
|
|
331
|
-
deferred to v2.
|
|
332
|
-
|
|
333
|
-
## See also
|
|
334
|
-
|
|
335
|
-
- [`agent-user-schema`](agent-user-schema.md) — the maintainer-self primitive that `/post-as:me` consumes.
|
|
336
|
-
- [`persona-schema`](persona-schema.md) — the review-lens primitive, distinct from ghostwriter.
|
|
337
|
-
- [`command-clusters`](command-clusters.md) — the canonical cluster registry.
|