@event4u/agent-config 14.23.0 → 16.0.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/.augment-plugin/marketplace.json +3 -3
- package/.augment-plugin/plugin.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +144 -152
- package/README.md +1 -1
- package/dist/agent-src/commands/agent-handoff.md +8 -7
- package/dist/agent-src/commands/agents/init.md +1 -1
- package/dist/agent-src/commands/agents/user/accept.md +4 -4
- package/dist/agent-src/commands/agents/user/delete.md +2 -2
- package/dist/agent-src/commands/agents/user/init.md +3 -3
- package/dist/agent-src/commands/agents/user/review.md +3 -3
- package/dist/agent-src/commands/agents/user/show.md +3 -3
- package/dist/agent-src/commands/agents/user/update.md +2 -2
- package/dist/agent-src/commands/agents/user.md +6 -6
- package/dist/agent-src/commands/analytics/prune.md +1 -1
- package/dist/agent-src/commands/analytics/show.md +2 -2
- package/dist/agent-src/commands/analyze/decision.md +2 -2
- package/dist/agent-src/commands/analyze/inbox.md +5 -5
- package/dist/agent-src/commands/analyze/incident.md +3 -3
- package/dist/agent-src/commands/analyze/near-miss.md +3 -3
- package/dist/agent-src/commands/analyze/postmortem.md +4 -4
- package/dist/agent-src/commands/analyze/premortem.md +2 -2
- package/dist/agent-src/commands/analyze.md +2 -2
- package/dist/agent-src/commands/bug/fix.md +1 -1
- package/dist/agent-src/commands/bug/investigate.md +2 -2
- package/dist/agent-src/commands/cost/profile.md +3 -3
- package/dist/agent-src/commands/design.md +1 -1
- package/dist/agent-src/commands/feature/explore.md +1 -1
- package/dist/agent-src/commands/feature/plan.md +2 -2
- package/dist/agent-src/commands/feature/roadmap.md +2 -2
- package/dist/agent-src/commands/ghostwriter/fetch.md +4 -4
- package/dist/agent-src/commands/ghostwriter/list.md +1 -1
- package/dist/agent-src/commands/ghostwriter/show.md +1 -1
- package/dist/agent-src/commands/ghostwriter/write.md +9 -9
- package/dist/agent-src/commands/humanize.md +6 -6
- package/dist/agent-src/commands/jira-ticket.md +1 -1
- package/dist/agent-src/commands/judge/solo.md +1 -1
- package/dist/agent-src/commands/judge.md +1 -1
- package/dist/agent-src/commands/knowledge/cross-repo.md +1 -1
- package/dist/agent-src/commands/knowledge/forget.md +1 -1
- package/dist/agent-src/commands/knowledge/ingest.md +2 -2
- package/dist/agent-src/commands/knowledge/list.md +1 -1
- package/dist/agent-src/commands/memory/add.md +3 -3
- package/dist/agent-src/commands/memory/load.md +4 -4
- package/dist/agent-src/commands/memory/mine-session.md +1 -1
- package/dist/agent-src/commands/memory/promote.md +4 -4
- package/dist/agent-src/commands/memory/propose.md +2 -2
- package/dist/agent-src/commands/mode.md +5 -5
- package/dist/agent-src/commands/post-as/ghostwriter.md +3 -3
- package/dist/agent-src/commands/post-as/me.md +7 -7
- package/dist/agent-src/commands/pr/create.md +1 -1
- package/dist/agent-src/commands/pr/merge.md +1 -1
- package/dist/agent-src/commands/profile/activate.md +1 -1
- package/dist/agent-src/commands/profile/show.md +1 -1
- package/dist/agent-src/commands/research/deep.md +2 -2
- package/dist/agent-src/commands/research/report.md +2 -2
- package/dist/agent-src/commands/review/changes.md +1 -1
- package/dist/agent-src/commands/review/routing.md +1 -1
- package/dist/agent-src/commands/roadmap/create.md +4 -3
- package/dist/agent-src/commands/roadmap/materialize.md +2 -2
- package/dist/agent-src/commands/roadmap/next.md +1 -1
- package/dist/agent-src/commands/roadmap/process-full.md +2 -2
- package/dist/agent-src/commands/security-audit-config.md +3 -3
- package/dist/agent-src/commands/skill/preview.md +1 -1
- package/dist/agent-src/commands/skills/discover.md +1 -1
- package/dist/agent-src/commands/sync/agent-settings.md +2 -2
- package/dist/agent-src/commands/sync/gitignore/fix.md +1 -1
- package/dist/agent-src/commands/tests/create.md +1 -1
- package/dist/agent-src/commands/tests/e2e-heal.md +1 -1
- package/dist/agent-src/commands/tests/e2e-plan.md +1 -1
- package/dist/agent-src/contexts/authority/kernel-rule-edits.md +6 -6
- package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +1 -2
- package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +2 -2
- package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +88 -1
- package/dist/agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +51 -1
- package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -1
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +1 -1
- package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +1 -1
- package/dist/agent-src/contexts/execution/autonomy-mechanics.md +1 -1
- package/dist/agent-src/contexts/execution/cheap-question-mechanics.md +1 -1
- package/dist/agent-src/contexts/execution/contract-decision-sheet.md +3 -3
- package/dist/agent-src/contexts/execution/mandated-lines.md +1 -1
- package/dist/agent-src/contexts/execution/non-interactive-contract.md +1 -1
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +1 -1
- package/dist/agent-src/contexts/execution/plan-confidence-gate.md +5 -5
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +1 -1
- package/dist/agent-src/contexts/execution/subagent-modes-detail.md +1 -1
- package/dist/agent-src/contexts/execution/subagent-routing.md +2 -2
- package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +1 -1
- package/dist/agent-src/contexts/execution/user-memory-channels.md +3 -3
- package/dist/agent-src/contexts/execution/verification-mechanics.md +1 -1
- package/dist/agent-src/contexts/judges/persona-voice-rubric.md +2 -2
- package/dist/agent-src/guidelines/abstraction-thresholds.md +88 -0
- package/dist/agent-src/guidelines/agent-infra/5w2h-analysis.md +260 -0
- package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +99 -0
- package/dist/agent-src/guidelines/agent-infra/agent-interaction-and-decision-quality.md +325 -0
- package/dist/agent-src/guidelines/agent-infra/api-cost-levers.md +177 -0
- package/dist/agent-src/guidelines/agent-infra/artifact-drafting-protocol-mechanics.md +222 -0
- package/dist/agent-src/guidelines/agent-infra/ask-when-uncertain-demos.md +134 -0
- package/dist/agent-src/guidelines/agent-infra/asking-and-brevity-examples.md +198 -0
- package/dist/agent-src/guidelines/agent-infra/break-glass-usage.md +113 -0
- package/dist/agent-src/guidelines/agent-infra/carve-out-predicates.md +17 -0
- package/dist/agent-src/guidelines/agent-infra/comparison-matrix.md +179 -0
- package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +165 -0
- package/dist/agent-src/guidelines/agent-infra/corpus-grounding-authoring.md +91 -0
- package/dist/agent-src/guidelines/agent-infra/critical-thinking.md +156 -0
- package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +109 -0
- package/dist/agent-src/guidelines/agent-infra/developer-judgment.md +82 -0
- package/dist/agent-src/guidelines/agent-infra/direct-answers-demos.md +142 -0
- package/dist/agent-src/guidelines/agent-infra/domain-adoption-gates.md +112 -0
- package/dist/agent-src/guidelines/agent-infra/domain-eval-anti-pattern.md +53 -0
- package/dist/agent-src/guidelines/agent-infra/domain-pack-architecture.md +56 -0
- package/dist/agent-src/guidelines/agent-infra/downstream-changes-mechanics.md +91 -0
- package/dist/agent-src/guidelines/agent-infra/emphasis-budget.md +45 -0
- package/dist/agent-src/guidelines/agent-infra/engineering-memory-data-format.md +210 -0
- package/dist/agent-src/guidelines/agent-infra/evaluator-independence-mechanics.md +92 -0
- package/dist/agent-src/guidelines/agent-infra/existence-question-verdicts.md +80 -0
- package/dist/agent-src/guidelines/agent-infra/failure-signatures.md +70 -0
- package/dist/agent-src/guidelines/agent-infra/false-green.md +233 -0
- package/dist/agent-src/guidelines/agent-infra/first-principles.md +192 -0
- package/dist/agent-src/guidelines/agent-infra/framework-neutrality-patterns.md +66 -0
- package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +169 -0
- package/dist/agent-src/guidelines/agent-infra/gate-authoring.md +177 -0
- package/dist/agent-src/guidelines/agent-infra/guarded-baseline.md +39 -0
- package/dist/agent-src/guidelines/agent-infra/installed-tools-manifest.md +142 -0
- package/dist/agent-src/guidelines/agent-infra/inversion-thinking.md +388 -0
- package/dist/agent-src/guidelines/agent-infra/ios-simulator-guide.md +378 -0
- package/dist/agent-src/guidelines/agent-infra/language-and-tone-examples.md +141 -0
- package/dist/agent-src/guidelines/agent-infra/layered-settings.md +317 -0
- package/dist/agent-src/guidelines/agent-infra/linked-projects-onboarding-gate.md +80 -0
- package/dist/agent-src/guidelines/agent-infra/mcp-request-signing.md +197 -0
- package/dist/agent-src/guidelines/agent-infra/memory-access.md +149 -0
- package/dist/agent-src/guidelines/agent-infra/mental-models.md +314 -0
- package/dist/agent-src/guidelines/agent-infra/minimal-safe-diff-mechanics.md +241 -0
- package/dist/agent-src/guidelines/agent-infra/missing-tool-handling.md +66 -0
- package/dist/agent-src/guidelines/agent-infra/model-recommendation.md +101 -0
- package/dist/agent-src/guidelines/agent-infra/naming.md +69 -0
- package/dist/agent-src/guidelines/agent-infra/notes-horizon-mechanics.md +90 -0
- package/dist/agent-src/guidelines/agent-infra/output-patterns.md +117 -0
- package/dist/agent-src/guidelines/agent-infra/recurring-criticism-mechanics.md +96 -0
- package/dist/agent-src/guidelines/agent-infra/reuse-verdict-mechanics.md +71 -0
- package/dist/agent-src/guidelines/agent-infra/review-routing-data-format.md +143 -0
- package/dist/agent-src/guidelines/agent-infra/roadmap-deferred-resolution-provenance.md +54 -0
- package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +274 -0
- package/dist/agent-src/guidelines/agent-infra/role-contracts.md +209 -0
- package/dist/agent-src/guidelines/agent-infra/role-mode-router.md +89 -0
- package/dist/agent-src/guidelines/agent-infra/rule-body-migration-inventory.md +241 -0
- package/dist/agent-src/guidelines/agent-infra/rule-type-governance.md +73 -0
- package/dist/agent-src/guidelines/agent-infra/runtime-layer.md +89 -0
- package/dist/agent-src/guidelines/agent-infra/scqa-framework.md +526 -0
- package/dist/agent-src/guidelines/agent-infra/security-lint-containment.md +121 -0
- package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +134 -0
- package/dist/agent-src/guidelines/agent-infra/simplicity-and-goal-demos.md +211 -0
- package/dist/agent-src/guidelines/agent-infra/six-hats.md +353 -0
- package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +229 -0
- package/dist/agent-src/guidelines/agent-infra/skill-quality-checklist.md +157 -0
- package/dist/agent-src/guidelines/agent-infra/source-confidentiality-mechanics.md +109 -0
- package/dist/agent-src/guidelines/agent-infra/symptom-driven-harvest-loop.md +104 -0
- package/dist/agent-src/guidelines/agent-infra/systems-thinking.md +220 -0
- package/dist/agent-src/guidelines/agent-infra/tool-description-as-policy.md +35 -0
- package/dist/agent-src/guidelines/agent-infra/tool-integration.md +73 -0
- package/dist/agent-src/guidelines/agent-infra/traceability-field-mechanics.md +50 -0
- package/dist/agent-src/guidelines/agent-infra/untrusted-input-spotlighting.md +166 -0
- package/dist/agent-src/guidelines/agent-infra/verify-before-complete-demos.md +128 -0
- package/dist/agent-src/guidelines/augment-portability-patterns.md +70 -0
- package/dist/agent-src/guidelines/code-clarity.md +350 -0
- package/dist/agent-src/guidelines/component-oriented-and-oop-development.md +189 -0
- package/dist/agent-src/guidelines/cross-role-handoff.md +127 -0
- package/dist/agent-src/guidelines/design-antipatterns-triggers.json +18 -0
- package/dist/agent-src/guidelines/design-antipatterns.md +327 -0
- package/dist/agent-src/guidelines/design-asset-discipline.md +38 -0
- package/dist/agent-src/guidelines/design-canon.md +63 -0
- package/dist/agent-src/guidelines/design-fidelity-mechanics.md +293 -0
- package/dist/agent-src/guidelines/design-fidelity-routing.md +78 -0
- package/dist/agent-src/guidelines/design-handover-extraction.md +117 -0
- package/dist/agent-src/guidelines/design-modes.md +143 -0
- package/dist/agent-src/guidelines/design-reconciliation.md +172 -0
- package/dist/agent-src/guidelines/docs/readme-size-and-splitting.md +209 -0
- package/dist/agent-src/guidelines/e2e/playwright.md +363 -0
- package/dist/agent-src/guidelines/gtm-handoff.md +114 -0
- package/dist/agent-src/guidelines/monorepo-antipatterns.md +141 -0
- package/dist/agent-src/guidelines/php/api-design.md +115 -0
- package/dist/agent-src/guidelines/php/artisan-commands.md +81 -0
- package/dist/agent-src/guidelines/php/blade-ui.md +78 -0
- package/dist/agent-src/guidelines/php/controllers.md +90 -0
- package/dist/agent-src/guidelines/php/database.md +194 -0
- package/dist/agent-src/guidelines/php/eloquent.md +208 -0
- package/dist/agent-src/guidelines/php/flux.md +80 -0
- package/dist/agent-src/guidelines/php/general.md +207 -0
- package/dist/agent-src/guidelines/php/git.md +164 -0
- package/dist/agent-src/guidelines/php/jobs.md +111 -0
- package/dist/agent-src/guidelines/php/livewire.md +71 -0
- package/dist/agent-src/guidelines/php/logging.md +79 -0
- package/dist/agent-src/guidelines/php/naming.md +89 -0
- package/dist/agent-src/guidelines/php/patterns/dependency-injection.md +57 -0
- package/dist/agent-src/guidelines/php/patterns/dtos.md +199 -0
- package/dist/agent-src/guidelines/php/patterns/events.md +67 -0
- package/dist/agent-src/guidelines/php/patterns/factory.md +53 -0
- package/dist/agent-src/guidelines/php/patterns/pipelines.md +66 -0
- package/dist/agent-src/guidelines/php/patterns/policies.md +66 -0
- package/dist/agent-src/guidelines/php/patterns/repositories.md +122 -0
- package/dist/agent-src/guidelines/php/patterns/service-layer.md +64 -0
- package/dist/agent-src/guidelines/php/patterns/strategy.md +247 -0
- package/dist/agent-src/guidelines/php/patterns.md +28 -0
- package/dist/agent-src/guidelines/php/performance.md +92 -0
- package/dist/agent-src/guidelines/php/php-coding-patterns.md +80 -0
- package/dist/agent-src/guidelines/php/resources.md +100 -0
- package/dist/agent-src/guidelines/php/security.md +110 -0
- package/dist/agent-src/guidelines/php/sql.md +97 -0
- package/dist/agent-src/guidelines/php/validations.md +119 -0
- package/dist/agent-src/guidelines/php/websocket.md +100 -0
- package/dist/agent-src/guidelines/prompt-templates.md +189 -0
- package/dist/agent-src/guidelines/redundancy-taxonomy.md +208 -0
- package/dist/agent-src/guidelines/wing4-handoff.md +127 -0
- package/dist/agent-src/personas/README.md +1 -1
- package/dist/agent-src/personas/_template-specialist/persona.md +1 -1
- package/dist/agent-src/personas/product-owner.md +1 -1
- package/dist/agent-src/rules/active-remediation.md +1 -1
- package/dist/agent-src/rules/architecture.md +2 -2
- package/dist/agent-src/rules/artifact-drafting-protocol.md +1 -1
- package/dist/agent-src/rules/ask-when-uncertain.md +2 -2
- package/dist/agent-src/rules/brand-source-of-truth.md +9 -7
- package/dist/agent-src/rules/code-comment-discipline.md +2 -2
- package/dist/agent-src/rules/code-provenance.md +1 -1
- package/dist/agent-src/rules/content-quoting-floor.md +1 -1
- package/dist/agent-src/rules/context-hygiene.md +5 -5
- package/dist/agent-src/rules/cross-source-consistency.md +1 -1
- package/dist/agent-src/rules/design-fidelity.md +36 -46
- package/dist/agent-src/rules/direct-answers.md +2 -2
- package/dist/agent-src/rules/domain-adoption-policy.md +1 -1
- package/dist/agent-src/rules/evaluator-independence.md +1 -1
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
- package/dist/agent-src/rules/icon-consistency.md +5 -1
- package/dist/agent-src/rules/improve-before-implement.md +1 -1
- package/dist/agent-src/rules/language-and-tone.md +3 -3
- package/dist/agent-src/rules/minimal-safe-diff.md +1 -1
- package/dist/agent-src/rules/notes-first-reasoning.md +2 -2
- package/dist/agent-src/rules/recurring-criticism.md +1 -1
- package/dist/agent-src/rules/roadmap-progress-sync.md +1 -1
- package/dist/agent-src/rules/role-mode-adherence.md +2 -2
- package/dist/agent-src/rules/security-sensitive-stop.md +1 -1
- package/dist/agent-src/rules/size-enforcement.md +1 -1
- package/dist/agent-src/rules/source-confidentiality.md +2 -2
- package/dist/agent-src/rules/think-before-action.md +1 -1
- package/dist/agent-src/rules/token-efficiency.md +7 -5
- package/dist/agent-src/rules/ui-audit-gate.md +3 -2
- package/dist/agent-src/rules/untrusted-input-defense.md +3 -3
- package/dist/agent-src/rules/user-interaction.md +31 -30
- package/dist/agent-src/skills/activation-design/SKILL.md +2 -2
- package/dist/agent-src/skills/adr-create/SKILL.md +5 -5
- package/dist/agent-src/skills/ai-council/SKILL.md +1 -1
- package/dist/agent-src/skills/ai-council/references/advanced-modes.md +1 -1
- package/dist/agent-src/skills/blade-ui/SKILL.md +1 -1
- package/dist/agent-src/skills/blast-radius-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/brand-to-tokens/SKILL.md +24 -3
- package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/build-buy-partner/SKILL.md +1 -1
- package/dist/agent-src/skills/churn-prevention/SKILL.md +2 -2
- package/dist/agent-src/skills/code-refactoring/SKILL.md +3 -3
- package/dist/agent-src/skills/code-review/SKILL.md +3 -3
- package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/comp-banding/SKILL.md +1 -1
- package/dist/agent-src/skills/competitive-moat-analysis/SKILL.md +1 -1
- package/dist/agent-src/skills/competitive-positioning/SKILL.md +2 -2
- package/dist/agent-src/skills/complexity-first-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
- package/dist/agent-src/skills/content-funnel-design/SKILL.md +2 -2
- package/dist/agent-src/skills/contracts-cognition/SKILL.md +1 -1
- package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +2 -2
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +2 -2
- package/dist/agent-src/skills/customer-research/SKILL.md +2 -2
- package/dist/agent-src/skills/dashboard-design/SKILL.md +1 -1
- package/dist/agent-src/skills/data-handling-judgment/SKILL.md +1 -1
- package/dist/agent-src/skills/deal-qualification-meddic/SKILL.md +2 -2
- package/dist/agent-src/skills/decision-record/SKILL.md +3 -3
- package/dist/agent-src/skills/decision-review/SKILL.md +8 -8
- package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +22 -22
- package/dist/agent-src/skills/design-intelligence/SKILL.md +4 -4
- package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +2 -2
- package/dist/agent-src/skills/design-review/SKILL.md +4 -4
- package/dist/agent-src/skills/design-system-capture/references/design-system-json.md +20 -1
- package/dist/agent-src/skills/design-tokens/SKILL.md +17 -2
- package/dist/agent-src/skills/design-variations/SKILL.md +2 -2
- package/dist/agent-src/skills/developer-like-execution/SKILL.md +2 -2
- package/dist/agent-src/skills/discovery-interview/SKILL.md +2 -2
- package/dist/agent-src/skills/doc-coauthoring/SKILL.md +3 -3
- package/dist/agent-src/skills/editorial-calendar/SKILL.md +2 -2
- package/dist/agent-src/skills/error-handling-patterns/SKILL.md +9 -0
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +44 -1
- package/dist/agent-src/skills/existing-ui-audit/references/anti-slop-cross-reference.md +2 -2
- package/dist/agent-src/skills/expansion-playbook/SKILL.md +2 -2
- package/dist/agent-src/skills/experiment-loop/SKILL.md +1 -1
- package/dist/agent-src/skills/experiment-loop/references/protocol.md +1 -1
- package/dist/agent-src/skills/fe-design/SKILL.md +3 -3
- package/dist/agent-src/skills/fe-design/references/design-patterns.md +1 -1
- package/dist/agent-src/skills/fe-design/references/design-read-and-memory.md +3 -3
- package/dist/agent-src/skills/fe-design/references/source-led-port.md +1 -1
- package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/flux/SKILL.md +1 -1
- package/dist/agent-src/skills/forecast-accuracy/SKILL.md +2 -2
- package/dist/agent-src/skills/forecasting/SKILL.md +2 -2
- package/dist/agent-src/skills/fundraising-narrative/SKILL.md +2 -2
- package/dist/agent-src/skills/funnel-analysis/SKILL.md +2 -2
- package/dist/agent-src/skills/gtm-launch/SKILL.md +2 -2
- package/dist/agent-src/skills/hiring-loop-design/SKILL.md +1 -1
- package/dist/agent-src/skills/html-deck/SKILL.md +5 -5
- package/dist/agent-src/skills/humanizer/SKILL.md +1 -1
- package/dist/agent-src/skills/humanizer/data/patterns.md +1 -1
- package/dist/agent-src/skills/iconography/SKILL.md +3 -3
- package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -1
- package/dist/agent-src/skills/laravel-api-endpoint/SKILL.md +2 -2
- package/dist/agent-src/skills/launch-readiness/SKILL.md +3 -3
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +6 -6
- package/dist/agent-src/skills/livewire/SKILL.md +1 -1
- package/dist/agent-src/skills/market-entry-analysis/SKILL.md +1 -1
- package/dist/agent-src/skills/mcp-builder/SKILL.md +1 -1
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +3 -3
- package/dist/agent-src/skills/messaging-architecture/SKILL.md +2 -2
- package/dist/agent-src/skills/monorepo-workspace/SKILL.md +1 -1
- package/dist/agent-src/skills/onboarding-design/SKILL.md +2 -2
- package/dist/agent-src/skills/onboarding-program/SKILL.md +1 -1
- package/dist/agent-src/skills/one-on-one-cadence/SKILL.md +1 -1
- package/dist/agent-src/skills/org-design/SKILL.md +1 -1
- package/dist/agent-src/skills/overbuild-review-lens/SKILL.md +3 -3
- package/dist/agent-src/skills/override-management/SKILL.md +1 -1
- package/dist/agent-src/skills/perf-feedback-craft/SKILL.md +1 -1
- package/dist/agent-src/skills/persona-writing/SKILL.md +1 -1
- package/dist/agent-src/skills/php-coder/SKILL.md +1 -1
- package/dist/agent-src/skills/pipeline-strategy/SKILL.md +2 -2
- package/dist/agent-src/skills/playwright-testing/SKILL.md +3 -3
- package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/positioning-strategy/SKILL.md +2 -2
- package/dist/agent-src/skills/privacy-review/SKILL.md +1 -1
- package/dist/agent-src/skills/prompt-optimizer/SKILL.md +3 -3
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +1 -1
- package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +2 -2
- package/dist/agent-src/skills/receiving-code-review/SKILL.md +1 -1
- package/dist/agent-src/skills/refine-ticket/SKILL.md +2 -2
- package/dist/agent-src/skills/release-comms/SKILL.md +2 -2
- package/dist/agent-src/skills/retention-loops/SKILL.md +2 -2
- package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
- package/dist/agent-src/skills/roadmap-management/SKILL.md +1 -1
- package/dist/agent-src/skills/roadmap-management/references/archival.md +1 -1
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +5 -5
- package/dist/agent-src/skills/rule-writing/SKILL.md +6 -6
- package/dist/agent-src/skills/runway-cognition/SKILL.md +2 -2
- package/dist/agent-src/skills/scenario-modeling/SKILL.md +2 -2
- package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/skill-writing/references/procedure.md +1 -1
- package/dist/agent-src/skills/skill-writing/references/section-patterns.md +3 -3
- package/dist/agent-src/skills/spreadsheet-authoring/SKILL.md +1 -1
- package/dist/agent-src/skills/stakeholder-tradeoff/SKILL.md +3 -3
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
- package/dist/agent-src/skills/supply-chain-intake/SKILL.md +1 -1
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +11 -5
- package/dist/agent-src/skills/throughput-vs-morale-tradeoff/SKILL.md +1 -1
- package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
- package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
- package/dist/agent-src/skills/ui-component-architect/SKILL.md +28 -8
- package/dist/agent-src/skills/unit-economics-modeling/SKILL.md +2 -2
- package/dist/agent-src/skills/upstream-contribute/SKILL.md +1 -1
- package/dist/agent-src/skills/validate-feature-fit/SKILL.md +2 -2
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
- package/dist/agent-src/skills/vision-articulation/SKILL.md +1 -1
- package/dist/agent-src/skills/voc-extract/SKILL.md +2 -2
- package/dist/agent-src/skills/voice-and-tone-design/SKILL.md +2 -2
- package/dist/agent-src/skills/wireframe/SKILL.md +1 -1
- package/dist/agent-src/skills/workspace-link/SKILL.md +1 -1
- package/dist/agent-src/templates/agent-settings.md +6 -6
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/contexts/knowledge-pages.md +2 -3
- package/dist/agent-src/templates/copilot-instructions.md +1 -1
- package/dist/agent-src/templates/roadmaps.md +1 -1
- package/dist/agent-src/templates/scripts/README.md +2 -2
- package/dist/agent-src/user-types/_template/user-type.md +1 -1
- package/dist/cli-delegate/check_update_banner.js +12 -1
- package/dist/cli-delegate/{chunk-NLP54U3J.js → chunk-2XY7ILBT.js} +13 -1
- package/dist/cli-delegate/{chunk-IAI3XL43.js → chunk-3FKR64R5.js} +22 -6
- package/dist/cli-delegate/{chunk-J3RFNKG4.js → chunk-55ACLDUE.js} +2 -2
- package/dist/cli-delegate/{chunk-PKOBQADP.js → chunk-57PN4GYJ.js} +1 -1
- package/dist/cli-delegate/{chunk-KCNTUSPI.js → chunk-AK6HODNQ.js} +4 -4
- package/dist/cli-delegate/{chunk-2FTMENJL.js → chunk-GYC3VRYN.js} +1 -1
- package/dist/cli-delegate/{chunk-LWTYTX6F.js → chunk-H32DGUJH.js} +15 -84
- package/dist/cli-delegate/{chunk-6RJA2F5A.js → chunk-IVBPRCQO.js} +1 -1
- package/dist/cli-delegate/chunk-NUHLI2RX.js +80 -0
- package/dist/cli-delegate/{chunk-TYSY33MD.js → chunk-QJWAUMJW.js} +12 -2
- package/dist/cli-delegate/{chunk-2KKXJW25.js → chunk-S3VFXMTM.js} +1 -1
- package/dist/cli-delegate/{chunk-I6RHFQEG.js → chunk-YUM5KURG.js} +17 -1
- package/dist/cli-delegate/cmd_analyze_session.js +1 -1
- package/dist/cli-delegate/cmd_brand_status.js +1 -1
- package/dist/cli-delegate/cmd_conformance.js +834 -275
- package/dist/cli-delegate/cmd_doctor.js +3 -3
- package/dist/cli-delegate/cmd_explain.js +5 -3
- package/dist/cli-delegate/cmd_export.js +4 -4
- package/dist/cli-delegate/cmd_handoff.js +6 -6
- package/dist/cli-delegate/cmd_mcp_available.js +1 -1
- package/dist/cli-delegate/cmd_memory_get.js +1 -1
- package/dist/cli-delegate/cmd_migrate.js +2 -2
- package/dist/cli-delegate/cmd_packs_active.js +3 -2
- package/dist/cli-delegate/cmd_prune.js +4 -4
- package/dist/cli-delegate/cmd_route_audit.js +3 -3
- package/dist/cli-delegate/cmd_route_explain.js +1 -1
- package/dist/cli-delegate/cmd_session_recycle.js +3 -3
- package/dist/cli-delegate/cmd_settings_get.js +15 -9
- package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
- package/dist/cli-delegate/cmd_settings_set.js +54 -11
- package/dist/cli-delegate/cmd_sync.js +4 -4
- package/dist/cli-delegate/cmd_uninstall.js +4 -4
- package/dist/cli-delegate/cmd_update.js +1 -1
- package/dist/cli-delegate/cmd_upgrade.js +1 -1
- package/dist/cli-delegate/cmd_validate.js +4 -4
- package/dist/cli-delegate/cmd_versions.js +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +25 -78
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +5 -7
- package/dist/discovery/trust-report.md +2 -2
- package/dist/discovery/workspaces.json +4 -6
- package/dist/hooks/dispatch.js +9684 -9304
- package/dist/install/install.mjs +36 -8
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +2147 -1470
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +73 -0
- package/dist/scripts/_lib/agent_src.js +20 -0
- package/dist/scripts/_lib/guidelines_lane.js +158 -0
- package/dist/scripts/_lib/installed_lock.js +1 -1
- package/dist/scripts/condense.js +2 -5
- package/dist/server/io/yamlIO.js +175 -17
- package/dist/server/schemas/settings.js +18 -4
- package/dist/shared/settingsSurface.js +6 -1
- package/docs/contracts/settings-classes.md +18 -9
- package/docs/guidelines/abstraction-thresholds.md +35 -0
- package/docs/guidelines/agent-infra/active-remediation-mechanics.md +3 -3
- package/docs/guidelines/agent-infra/false-green.md +2 -2
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +1 -1
- package/docs/guidelines/design-fidelity-mechanics.md +4 -0
- package/docs/guidelines/design-fidelity-routing.md +78 -0
- package/docs/guidelines/design-reconciliation.md +172 -0
- package/docs/guidelines/gtm-handoff.md +2 -2
- package/docs/guidelines/wing4-handoff.md +2 -2
- package/package.json +7 -3
- package/src/config/agent-settings.template.yml +55 -8
- package/src/config/ci-local-parity.yml +34 -0
- package/src/config/continuity-surface.json +11 -32
- package/src/config/gate-coverage.yml +31 -8
- package/src/config/gate-reachability-exemptions.json +1 -0
- package/src/config/gate-violation-baselines.json +3 -3
- package/src/config/hook-token-budget.json +1 -1
- package/src/config/host-injection-effect.json +2 -2
- package/src/config/pack-size-budget.json +55 -4
- package/src/config/platform-anchor.json +47 -0
- package/src/config/preamble-payload-budget.json +12 -8
- package/src/config/preamble-payload-exceptions.json +28 -0
- package/src/config/publish-surface.json +4 -2
- package/src/config/ratification-policy.json +7 -0
- package/src/config/rule-stub-ceilings.json +16 -9
- package/src/scripts/_cli/cmd_settings_get.ts +22 -7
- package/src/scripts/_dispatch.bash +3 -1
- package/src/scripts/_lib/agent_settings.ts +85 -0
- package/src/scripts/_lib/agent_src.ts +21 -0
- package/src/scripts/_lib/artifact_maturity.ts +242 -0
- package/src/scripts/_lib/base_ref_payload.ts +315 -0
- package/src/scripts/_lib/conformance_report.ts +403 -0
- package/src/scripts/_lib/continuity_writer.ts +72 -13
- package/src/scripts/_lib/design_system_import.ts +20 -0
- package/src/scripts/_lib/design_tolerance.ts +281 -0
- package/src/scripts/_lib/dropped_decision.ts +142 -0
- package/src/scripts/_lib/guidelines_lane.ts +164 -0
- package/src/scripts/_lib/installed_lock.ts +1 -1
- package/src/scripts/_lib/measured_payload_ceiling.ts +424 -0
- package/src/scripts/_lib/obligation_frequency.ts +2 -3
- package/src/scripts/_lib/payload_catalogue_completeness.ts +211 -0
- package/src/scripts/_lib/platform_anchor.ts +1053 -0
- package/src/scripts/_lib/ratification_artifact.ts +278 -0
- package/src/scripts/_lib/release_findings_ingest.ts +324 -0
- package/src/scripts/_lib/release_tag_dispatch.ts +63 -0
- package/src/scripts/_lib/review_baseline.ts +254 -0
- package/src/scripts/_lib/review_skipped_record.ts +61 -1
- package/src/scripts/_lib/security_lint.ts +23 -2
- package/src/scripts/_lib/self_repair.ts +21 -0
- package/src/scripts/_lib/session_index_trust.ts +42 -1
- package/src/scripts/_lib/standing_bound_ratchet.ts +267 -88
- package/src/scripts/_lib/tolerance_shadow.ts +177 -0
- package/src/scripts/_lib/turn_end_refusals.ts +51 -4
- package/src/scripts/ai_council/redact_low_impact_entry.ts +8 -0
- package/src/scripts/autonomy_friction_traffic.ts +379 -0
- package/src/scripts/check_beta_review_markers.ts +35 -4
- package/src/scripts/check_finding_dispositions.ts +167 -16
- package/src/scripts/check_held_object_arrivals.ts +381 -0
- package/src/scripts/check_kernel_edit_ratified.ts +462 -0
- package/src/scripts/check_loss_class_declared.ts +793 -46
- package/src/scripts/check_platform_anchor.ts +390 -0
- package/src/scripts/check_preamble_payload_budget.ts +672 -107
- package/src/scripts/check_projected_rule_routes.ts +395 -0
- package/src/scripts/check_release_published.ts +1 -1
- package/src/scripts/check_reply_consistency.ts +86 -17
- package/src/scripts/code_graph/cli.ts +6 -0
- package/src/scripts/condense.ts +2 -6
- package/src/scripts/generate_host_cost_table.ts +354 -0
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +74 -30
- package/src/scripts/hooks/block_kernel_rule_writes.ts +12 -2
- package/src/scripts/hooks/category_a.ts +1 -1
- package/src/scripts/hooks/chain_nudge_hook.ts +311 -25
- package/src/scripts/hooks/concern_registry.ts +2 -0
- package/src/scripts/hooks/end_review_nudge_hook.ts +101 -21
- package/src/scripts/hooks/review_baseline_hook.ts +130 -0
- package/src/scripts/hooks/session_eol_hook.ts +68 -154
- package/src/scripts/hooks/source_first_gate_hook.ts +12 -0
- package/src/scripts/hooks/turn_end_gate_hook.ts +232 -14
- package/src/scripts/hooks/ui_route_nudge_hook.ts +52 -15
- package/src/scripts/hooks_doctor.ts +4 -1
- package/src/scripts/hot_context_hook.ts +41 -401
- package/src/scripts/install.ts +1 -1
- package/src/scripts/interruption_report.ts +8 -2
- package/src/scripts/janitor.ts +8 -1
- package/src/scripts/lint_evidence_artifacts.ts +1 -0
- package/src/scripts/lint_knowledge_scale.ts +0 -26
- package/src/scripts/measure_turn_end_gate.ts +302 -5
- package/src/scripts/memory_lookup.ts +9 -9
- package/src/scripts/release.ts +52 -64
- package/src/scripts/release_drill.ts +193 -14
- package/src/scripts/release_env.ts +1 -1
- package/src/scripts/release_publication.ts +1 -1
- package/src/scripts/report_held_object_arrivals.ts +456 -0
- package/src/scripts/report_standing_payload_by_host.ts +7 -7
- package/src/scripts/session_memory_index.ts +5 -0
- package/src/scripts/sync_agent_settings.ts +394 -12
- package/src/server/io/yamlIO.ts +175 -17
- package/src/server/schemas/settings.ts +25 -5
- package/src/shared/settingsSurface.ts +13 -2
- package/src/templates/compact-instructions.md +8 -3
- package/dist/agent-src/commands/chat-history/import.md +0 -170
- package/dist/agent-src/commands/chat-history.md +0 -63
|
@@ -101,7 +101,7 @@ branded, recommendation-bearing). A single refined implementation →
|
|
|
101
101
|
- Do NOT skip decision capture — an exploration round without a recorded
|
|
102
102
|
decision has to be re-litigated in the hi-fi round.
|
|
103
103
|
- Do NOT embed system internals (paths, skill/tool names) in the artifact —
|
|
104
|
-
Q13 in [`design-antipatterns.md`](
|
|
104
|
+
Q13 in [`design-antipatterns.md`](../../guidelines/design-antipatterns.md).
|
|
105
105
|
|
|
106
106
|
## Gotcha
|
|
107
107
|
|
|
@@ -127,5 +127,5 @@ A workspace-link answer MUST contain, in order:
|
|
|
127
127
|
## See also
|
|
128
128
|
|
|
129
129
|
- [`monorepo-workspace`](../monorepo-workspace/SKILL.md) — which manager, which workspaces, which graph.
|
|
130
|
-
- [`monorepo-antipatterns`](
|
|
130
|
+
- [`monorepo-antipatterns`](../../guidelines/monorepo-antipatterns.md) — the task-graph mistakes a `paths` patch hides.
|
|
131
131
|
- [`blast-radius-analyzer`](../blast-radius-analyzer/SKILL.md) — § Monorepo, once the edge exists.
|
|
@@ -14,7 +14,7 @@ Keep the format regular — 2-space indent, no tabs, no lists, one nesting
|
|
|
14
14
|
level only. The installer's YAML handler is a restricted stdlib parser, not
|
|
15
15
|
a full YAML engine. Ask the agent to normalize after manual edits — it
|
|
16
16
|
follows the merge rules in
|
|
17
|
-
[`layered-settings`](../
|
|
17
|
+
[`layered-settings`](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
|
|
18
18
|
|
|
19
19
|
### Migration from the legacy `.agent-settings` (key=value)
|
|
20
20
|
|
|
@@ -36,7 +36,7 @@ This block defines the personal and project-level settings that
|
|
|
36
36
|
`scripts/install.ts` (via `config/agent-settings.template.yml`)
|
|
37
37
|
writes to `.agent-settings.yml` on first install. Subsequent edits are
|
|
38
38
|
made by the user directly or by the agent on request, following the
|
|
39
|
-
[section-aware merge rules](../
|
|
39
|
+
[section-aware merge rules](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
|
|
40
40
|
|
|
41
41
|
```yaml
|
|
42
42
|
# Agent Settings
|
|
@@ -597,7 +597,7 @@ linked_projects_max_files: 20000
|
|
|
597
597
|
|
|
598
598
|
Personal and project-level settings (initial file written by
|
|
599
599
|
`scripts/install.ts`, edits follow the merge rules in
|
|
600
|
-
[`layered-settings`](../
|
|
600
|
+
[`layered-settings`](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)).
|
|
601
601
|
**Key paths use dot-notation** to denote nesting: `personal.user_name`
|
|
602
602
|
lives under `personal:` in YAML.
|
|
603
603
|
|
|
@@ -636,9 +636,9 @@ the canonical narrative lives in
|
|
|
636
636
|
| `subagents.implementer_model` | model alias or empty | _(empty)_ | Model for implementer subagents. Empty = same tier as session model. See [subagent-configuration](../contexts/subagent-configuration.md). |
|
|
637
637
|
| `subagents.judge_model` | model alias or empty | _(empty)_ | Model for judge subagents. Empty = one tier above implementer (opus if sonnet, sonnet if haiku). |
|
|
638
638
|
| `subagents.max_parallel` | integer | `3` | Maximum parallel subagent invocations. `1` serializes. |
|
|
639
|
-
| `roles.default_role` | `""`, `developer`, `reviewer`, `tester`, `po`, `incident`, `planner` | _(empty)_ | Role the agent defaults to at the start of a session. Lives in the PROJECT settings (`agent-project-settings.example.yml` § roles), not in the personal template. See [`role-contracts`](../
|
|
639
|
+
| `roles.default_role` | `""`, `developer`, `reviewer`, `tester`, `po`, `incident`, `planner` | _(empty)_ | Role the agent defaults to at the start of a session. Lives in the PROJECT settings (`agent-project-settings.example.yml` § roles), not in the personal template. See [`role-contracts`](../guidelines/agent-infra/role-contracts.md). |
|
|
640
640
|
| `roles.active_role` | same as `default_role` | _(empty)_ | Role currently active; set by `/mode <name>`, cleared by `/mode none`. Enables the `role-mode-adherence` rule. |
|
|
641
|
-
| `personas.override` | list of persona ids | `[]` | Developer-local override of the team default lens cast (not in the shipped personal template — add the block when needed). Empty = inherit `personas.default` from `.agent-project-settings.yml`. See [`layered-settings`](../
|
|
641
|
+
| `personas.override` | list of persona ids | `[]` | Developer-local override of the team default lens cast (not in the shipped personal template — add the block when needed). Empty = inherit `personas.default` from `.agent-project-settings.yml`. See [`layered-settings`](../guidelines/agent-infra/layered-settings.md). |
|
|
642
642
|
| `personas.ignore` | list of persona ids | `[]` | Persona ids dropped from the default cast locally. Ignored personas stay invokable via `--personas=<id>`. |
|
|
643
643
|
| `onboarding.onboarded` | `true`, `false` | `false` | Whether `/onboard` has run on this project. The `onboarding-gate` rule prompts for `/onboard` when this is `false`. Missing entirely = legacy project, treated as onboarded. |
|
|
644
644
|
| `commands.suggestion.enabled` | `true`, `false` | `true` | Master switch for the command-suggestion layer. `false` = the layer is silent; explicit `/commands` still work. See `rules/command-suggestion-policy.md`. |
|
|
@@ -732,7 +732,7 @@ they ship with a live consumer in code and get documented here, not before.
|
|
|
732
732
|
## Sync rules
|
|
733
733
|
|
|
734
734
|
When new settings are added to this template, the
|
|
735
|
-
[section-aware merge rules](../
|
|
735
|
+
[section-aware merge rules](../guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)
|
|
736
736
|
govern the update:
|
|
737
737
|
|
|
738
738
|
1. Missing keys are added with their **default value** from this template,
|
|
@@ -39,7 +39,7 @@ schema_version: 1
|
|
|
39
39
|
# CI guard: a release bump of `package.json` must update this value
|
|
40
40
|
# in lockstep — see scripts/check_template_pin_drift.ts (road-to-
|
|
41
41
|
# portable-runtime-and-update-check P3.3).
|
|
42
|
-
agent_config_version: "
|
|
42
|
+
agent_config_version: "16.0.0"
|
|
43
43
|
|
|
44
44
|
# --- Project identity ---
|
|
45
45
|
project:
|
|
@@ -91,9 +91,8 @@ tiny pages do.
|
|
|
91
91
|
|
|
92
92
|
## What this substrate is — honest framing
|
|
93
93
|
|
|
94
|
-
A **governed second-brain substrate**:
|
|
95
|
-
|
|
96
|
-
platforms), deterministic where safe (dedup, recurrence, index regen,
|
|
94
|
+
A **governed second-brain substrate**: a memory session index restored at
|
|
95
|
+
`session_start` across all 7 platforms, deterministic where safe (dedup, recurrence, index regen,
|
|
97
96
|
fold rollups, scale tripwires), human-gated where meaning is at stake
|
|
98
97
|
(consolidate gate, promotion, contested flow). It is **not**
|
|
99
98
|
self-organizing intelligence — the substrate is governed files, and the
|
|
@@ -111,7 +111,7 @@ none. **Intentional, not a bug.** The installer projects
|
|
|
111
111
|
resolve at agent runtime. The patterns below are correct by design:
|
|
112
112
|
|
|
113
113
|
- **Relative cross-references inside markdown rules / skills /
|
|
114
|
-
commands** like `[x](../
|
|
114
|
+
commands** like `[x](../guidelines/foo.md)` or
|
|
115
115
|
`[y](../contexts/bar.md)`. The base resolves from the file's
|
|
116
116
|
delivered location (e.g. `.augment/rules/<rule>.md`) — these paths
|
|
117
117
|
are valid via the `.augment/` tree, even when the file is symlinked
|
|
@@ -524,7 +524,7 @@ that was never a judgement call.
|
|
|
524
524
|
No material risks → the **exact** honest-null grammar; a bare "no
|
|
525
525
|
risks" sentence fails. Schema, staleness rule, and the grandfather
|
|
526
526
|
clause for pre-gate roadmaps:
|
|
527
|
-
[`plan-review-gates § 1`](
|
|
527
|
+
[`plan-review-gates § 1`](../docs/contracts/plan-review-gates.md).
|
|
528
528
|
`status: draft` roadmaps are exempt until flipped to ready. Enforced
|
|
529
529
|
by `lint_plan_risk_register` at pre-push + CI.
|
|
530
530
|
|
|
@@ -111,7 +111,7 @@ _Data source: ownership-map.yml + historical-bug-patterns.yml. …_
|
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
Curate `ownership-map.yml` and `historical-bug-patterns.yml` over time —
|
|
114
|
-
see
|
|
114
|
+
see `../../guidelines/agent-infra/review-routing-data-format.md` for
|
|
115
115
|
the full schema.
|
|
116
116
|
|
|
117
117
|
## Uninstall
|
|
@@ -191,5 +191,5 @@ whatever is under `agents/memory/`. Trigger manually with
|
|
|
191
191
|
Exit `0` = clean, `1` = violations (missing required fields, duplicate
|
|
192
192
|
ids, or obvious secrets — staleness alone is informational).
|
|
193
193
|
|
|
194
|
-
Schema reference:
|
|
194
|
+
Schema reference: `../../guidelines/agent-infra/engineering-memory-data-format.md`.
|
|
195
195
|
Schema examples: `.augment/templates/agents/memory/*.example.yml`.
|
|
@@ -87,7 +87,7 @@ Non-negotiable. Guardrails are encoded here.
|
|
|
87
87
|
|
|
88
88
|
*Author note (delete before publishing): this template targets the
|
|
89
89
|
7-section spine locked in
|
|
90
|
-
[`docs/contracts/user-type-schema.md`](
|
|
90
|
+
[`docs/contracts/user-type-schema.md`](../../docs/contracts/user-type-schema.md).
|
|
91
91
|
Stay within the **≤ 120 line** budget (file total, including
|
|
92
92
|
frontmatter). Replace every `{placeholder}` with concrete content
|
|
93
93
|
that passes the Anti-Generic Quality Bar (≥ 5 concrete review
|
|
@@ -218,7 +218,18 @@ var MERGEABLE_KEYS = [
|
|
|
218
218
|
"knowledge.global_sharing.redaction.halt_on_trigger",
|
|
219
219
|
"knowledge.global_sharing.auto_promote_threshold",
|
|
220
220
|
"knowledge.global_sharing.freshness.hypothesis_after_days",
|
|
221
|
-
"knowledge.global_sharing.freshness.stale_after_days"
|
|
221
|
+
"knowledge.global_sharing.freshness.stale_after_days",
|
|
222
|
+
// `design.fidelity_mode` is a per-DEVELOPER working preference, not a
|
|
223
|
+
// per-project one: whether an agent may deviate from a handed-over design
|
|
224
|
+
// is a property of how that person works, and a designer who sets it once
|
|
225
|
+
// expects it in every checkout. `design-fidelity.md` already tells the
|
|
226
|
+
// reader to resolve it through the cascade — "that file is the project
|
|
227
|
+
// layer of a cascade that starts user-global" — and the cascade then
|
|
228
|
+
// filtered it out here, silently, so the rule's own instruction could not
|
|
229
|
+
// be followed. Class C, so a user still sets it by hand or through the
|
|
230
|
+
// GUI; whitelisting decides only whether the value SURVIVES the merge
|
|
231
|
+
// (ADR-271, road-to-design-intent-conformance 2.3).
|
|
232
|
+
"design.fidelity_mode"
|
|
222
233
|
];
|
|
223
234
|
var TEMPLATE_RELATIVE = path2.join("src", "config", "agent-settings.template.yml");
|
|
224
235
|
var _PACKAGE_ROOT = path2.resolve(path2.dirname(fileURLToPath(import.meta.url)), "..", "..", "..");
|
|
@@ -170,7 +170,18 @@ var MERGEABLE_KEYS = [
|
|
|
170
170
|
"knowledge.global_sharing.redaction.halt_on_trigger",
|
|
171
171
|
"knowledge.global_sharing.auto_promote_threshold",
|
|
172
172
|
"knowledge.global_sharing.freshness.hypothesis_after_days",
|
|
173
|
-
"knowledge.global_sharing.freshness.stale_after_days"
|
|
173
|
+
"knowledge.global_sharing.freshness.stale_after_days",
|
|
174
|
+
// `design.fidelity_mode` is a per-DEVELOPER working preference, not a
|
|
175
|
+
// per-project one: whether an agent may deviate from a handed-over design
|
|
176
|
+
// is a property of how that person works, and a designer who sets it once
|
|
177
|
+
// expects it in every checkout. `design-fidelity.md` already tells the
|
|
178
|
+
// reader to resolve it through the cascade — "that file is the project
|
|
179
|
+
// layer of a cascade that starts user-global" — and the cascade then
|
|
180
|
+
// filtered it out here, silently, so the rule's own instruction could not
|
|
181
|
+
// be followed. Class C, so a user still sets it by hand or through the
|
|
182
|
+
// GUI; whitelisting decides only whether the value SURVIVES the merge
|
|
183
|
+
// (ADR-271, road-to-design-intent-conformance 2.3).
|
|
184
|
+
"design.fidelity_mode"
|
|
174
185
|
];
|
|
175
186
|
var TEMPLATE_RELATIVE = path.join("src", "config", "agent-settings.template.yml");
|
|
176
187
|
var _PACKAGE_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "..", "..");
|
|
@@ -684,6 +695,7 @@ export {
|
|
|
684
695
|
LOCAL_PROJECT_SUBDIR,
|
|
685
696
|
project_settings_path,
|
|
686
697
|
USER_GLOBAL_FILENAME,
|
|
698
|
+
user_global_settings_paths,
|
|
687
699
|
MERGEABLE_KEYS,
|
|
688
700
|
find_project_root_with_anchor,
|
|
689
701
|
find_project_root,
|
|
@@ -4197,7 +4197,7 @@ var settingsSchema = external_exports.object({
|
|
|
4197
4197
|
}),
|
|
4198
4198
|
chat_history: external_exports.object({
|
|
4199
4199
|
enabled: external_exports.boolean().default(true).describe(
|
|
4200
|
-
"Persist a structured log of every chat turn to
|
|
4200
|
+
"Persist a structured log of every chat turn to agents/runtime/.agent-chat-history (JSONL). Recording only \u2014 no command in this package replays a session from the file; it is a record on disk that a human or a later tool can read. Turn off if you never want chat transcripts on disk."
|
|
4201
4201
|
),
|
|
4202
4202
|
frequency: chatFreq.default("per_turn").describe(
|
|
4203
4203
|
"How often the chat-history writer flushes to disk. per_turn = after every user / agent exchange (default, lowest data loss on crash). per_phase = at phase boundaries (cheaper I/O). per_tool = after every tool call (highest fidelity, noisiest log)."
|
|
@@ -4263,8 +4263,24 @@ var settingsSchema = external_exports.object({
|
|
|
4263
4263
|
design: external_exports.object({
|
|
4264
4264
|
fidelity_mode: fidelityMode.default("strict").describe(
|
|
4265
4265
|
"How strictly the agent must follow a user-provided prototype / mockup / design system (consumed by the design-fidelity rule). strict = build 1:1, every visible deviation needs confirmation; structural = structure locked, silent gaps fillable with a stated assumption; hard-floor = any deviation is never autonomous."
|
|
4266
|
-
)
|
|
4267
|
-
|
|
4266
|
+
),
|
|
4267
|
+
approximation: external_exports.object({
|
|
4268
|
+
enabled: external_exports.boolean().default(false).describe(
|
|
4269
|
+
"Whether a value INSIDE the configured tolerance may be replaced by the project's own token without a per-value confirmation. Ships false. The distance from the artifact's value to the nearest project token is computed and REPORTED on every value row regardless of this switch \u2014 what it decides is whether the agent may act on it without asking. Turning it on for a whole install is a consumer-facing default flip and is owner-reserved (agents/roadmaps/stubs/road-to-frontend-power-default-flip.md); design.fidelity_mode: hard-floor overrides it to off."
|
|
4270
|
+
),
|
|
4271
|
+
tolerance: external_exports.object({
|
|
4272
|
+
color: external_exports.number().nullable().default(null).describe(
|
|
4273
|
+
'Colour distance below which a value may be reconciled, in OKLab \u0394EOK. Ships null, and null means "preserve and report" rather than "reconcile freely". No number is set because none is supported: zero of seven design-to-code benchmarks in the evidence set score token conformance, and a number in a config file \u2014 even flagged unmeasured \u2014 shapes behavior and acquires the authority of a default. Not an RGB channel delta: RGB distance is not perceptually uniform.'
|
|
4274
|
+
),
|
|
4275
|
+
length: external_exports.number().nullable().default(null).describe(
|
|
4276
|
+
"Length distance below which a value may be reconciled, in absolute CSS pixels. Ships null, same reasoning as color. GitHub Primer's \xB11px spacing widening is recorded as an externally observed candidate in src/scripts/_lib/design_tolerance.ts and is deliberately not the shipped value; max(1px, 2%) was rejected for growing more permissive at large dimensions with no evidence that this is wanted."
|
|
4277
|
+
)
|
|
4278
|
+
}).default({ color: null, length: null })
|
|
4279
|
+
}).default({ enabled: false, tolerance: { color: null, length: null } })
|
|
4280
|
+
}).default({
|
|
4281
|
+
fidelity_mode: "strict",
|
|
4282
|
+
approximation: { enabled: false, tolerance: { color: null, length: null } }
|
|
4283
|
+
}),
|
|
4268
4284
|
consistency: external_exports.object({
|
|
4269
4285
|
cross_source: crossSourceMode.default("on").describe(
|
|
4270
4286
|
"Consumed by the cross-source-consistency rule. When the agent works from multiple sources (ticket text, an attached image/mockup, the spec, the codebase) it checks them against each other and asks before proceeding on a discrepancy \u2014 instead of silently guessing. on (default) = surface every real cross-source contradiction / silent-scope-expansion as one question; auto = surface only high-confidence contradictions, state low-confidence as an assumption; off = no cross-source checking."
|
|
@@ -4467,11 +4483,11 @@ var settingsSchema = external_exports.object({
|
|
|
4467
4483
|
})
|
|
4468
4484
|
}),
|
|
4469
4485
|
continuity: external_exports.object({
|
|
4470
|
-
auto_record: external_exports.enum(["on", "off"]).default("
|
|
4471
|
-
"Deterministic continuity-record writer at session end (road-to-continuity-writer-activation Phase 1). on = the session-eol concern writes the continuity_record capsule variant on Stop for a substantive session that has claimed a roadmap; every field is computed from on-disk state, with no model spend and no subprocess. off
|
|
4486
|
+
auto_record: external_exports.enum(["on", "off"]).default("on").describe(
|
|
4487
|
+
"Deterministic continuity-record writer at session end (road-to-continuity-writer-activation Phase 1). on (default since 2026-09-10) = the session-eol concern writes the continuity_record capsule variant on Stop for a substantive session that has claimed a roadmap; every field is computed from on-disk state, with no model spend and no subprocess. off = no automatic record, and only the explicit agent-config session:recycle writes one. The default flipped once the parity evidence landed, so the normal path carries an automatic writer rather than a remembered command; session:recycle is retained because the automatic writer skips a session that claimed no roadmap and omits the git-status anchors."
|
|
4472
4488
|
),
|
|
4473
4489
|
run_checkpoints: external_exports.enum(["on", "off"]).default("on").describe(
|
|
4474
|
-
"Deterministic run-checkpoint production at session end (road-to-continuity-writer-activation Phase 1.4). on (default) = a session above the recycle threshold and inside a running roadmap contract leaves agents/runtime/state/checkpoints/<run>.json, so a killed run resumes from a derived checkpoint rather than from bookkeeping. off = no checkpoint; continuity writing, the recycle advisory and the context-fill surface are unaffected. Default ON because it is the
|
|
4490
|
+
"Deterministic run-checkpoint production at session end (road-to-continuity-writer-activation Phase 1.4). on (default) = a session above the recycle threshold and inside a running roadmap contract leaves agents/runtime/state/checkpoints/<run>.json, so a killed run resumes from a derived checkpoint rather than from bookkeeping. off = no checkpoint; continuity writing, the recycle advisory and the context-fill surface are unaffected. Default ON because it is the behavior the tree already had \u2014 the switch exists to make the three session-end handlers independently disableable, not to change what ships."
|
|
4475
4491
|
)
|
|
4476
4492
|
}),
|
|
4477
4493
|
memory: external_exports.object({
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
projectStoreSlug,
|
|
30
30
|
scanTranscripts,
|
|
31
31
|
weightedInputUnits
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-GYC3VRYN.js";
|
|
33
33
|
import {
|
|
34
34
|
git_common_dir
|
|
35
35
|
} from "./chunk-E4XIZDIB.js";
|
|
@@ -66,7 +66,7 @@ import {
|
|
|
66
66
|
iter_setting_overrides,
|
|
67
67
|
project_settings_path,
|
|
68
68
|
resolve_project_root
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-2XY7ILBT.js";
|
|
70
70
|
import {
|
|
71
71
|
event4u_root,
|
|
72
72
|
resolve_with_fallback
|
|
@@ -2,10 +2,10 @@ import { createRequire as __acCreateRequire } from 'node:module'; const require
|
|
|
2
2
|
import {
|
|
3
3
|
ZodFirstPartyTypeKind,
|
|
4
4
|
settingsSchema
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3FKR64R5.js";
|
|
6
6
|
import {
|
|
7
7
|
main
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-IVBPRCQO.js";
|
|
9
9
|
import {
|
|
10
10
|
RULE_SOURCE_REL
|
|
11
11
|
} from "./chunk-WOKWX5PL.js";
|
|
@@ -59,7 +59,7 @@ import {
|
|
|
59
59
|
import {
|
|
60
60
|
find_project_root_with_anchor,
|
|
61
61
|
load_agent_settings
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-2XY7ILBT.js";
|
|
63
63
|
import {
|
|
64
64
|
event4u_root,
|
|
65
65
|
legacy_xdg_root,
|
|
@@ -1657,7 +1657,7 @@ function computeSurfaceDelta(oldS, newS) {
|
|
|
1657
1657
|
continue;
|
|
1658
1658
|
}
|
|
1659
1659
|
const o = oldS.entries[key];
|
|
1660
|
-
if (o.type
|
|
1660
|
+
if (!sameJson(o.type, n.type)) {
|
|
1661
1661
|
changes.push({ key, kind: "type_changed", old: o, new: n });
|
|
1662
1662
|
}
|
|
1663
1663
|
if (!sameJson(o.default, n.default)) {
|
|
@@ -1,84 +1,16 @@
|
|
|
1
1
|
import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
artefact_roots
|
|
4
|
+
} from "./chunk-NUHLI2RX.js";
|
|
2
5
|
import {
|
|
3
6
|
DEFAULT_PROJECT_FILE,
|
|
4
7
|
logger
|
|
5
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-2XY7ILBT.js";
|
|
6
9
|
|
|
7
10
|
// src/scripts/config/profiles.ts
|
|
8
|
-
import * as fs2 from "node:fs";
|
|
9
|
-
import { createRequire } from "node:module";
|
|
10
|
-
import * as path2 from "node:path";
|
|
11
|
-
|
|
12
|
-
// src/scripts/_lib/agent_src.ts
|
|
13
11
|
import * as fs from "node:fs";
|
|
12
|
+
import { createRequire } from "node:module";
|
|
14
13
|
import * as path from "node:path";
|
|
15
|
-
import { fileURLToPath } from "node:url";
|
|
16
|
-
var _HERE = path.dirname(fileURLToPath(import.meta.url));
|
|
17
|
-
var _DEFAULT_ROOT = path.resolve(_HERE, "..", "..", "..");
|
|
18
|
-
function _deriveRoots(root) {
|
|
19
|
-
const packages = path.join(root, "packages");
|
|
20
|
-
const src = path.join(root, "src");
|
|
21
|
-
return {
|
|
22
|
-
ROOT: root,
|
|
23
|
-
LEGACY_SRC: path.join(root, ".agent-src.uncondensed"),
|
|
24
|
-
PACKAGES: packages,
|
|
25
|
-
PACKAGE_CORE: path.join(packages, "core"),
|
|
26
|
-
SRC: src,
|
|
27
|
-
SRC_SKILLS: path.join(src, "skills"),
|
|
28
|
-
SRC_RULES: path.join(src, "rules"),
|
|
29
|
-
SRC_AGENT: path.join(src, "agent-src"),
|
|
30
|
-
SRC_DOMAINS: path.join(src, "domains")
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
var _roots = _deriveRoots(_DEFAULT_ROOT);
|
|
34
|
-
function _isDir(p) {
|
|
35
|
-
try {
|
|
36
|
-
return fs.statSync(p).isDirectory();
|
|
37
|
-
} catch {
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function _exists(p) {
|
|
42
|
-
try {
|
|
43
|
-
fs.statSync(p);
|
|
44
|
-
return true;
|
|
45
|
-
} catch {
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
function _iterdirSorted(p) {
|
|
50
|
-
let names;
|
|
51
|
-
try {
|
|
52
|
-
names = fs.readdirSync(p);
|
|
53
|
-
} catch {
|
|
54
|
-
return [];
|
|
55
|
-
}
|
|
56
|
-
names.sort();
|
|
57
|
-
return names.map((name) => path.join(p, name));
|
|
58
|
-
}
|
|
59
|
-
function artefact_roots() {
|
|
60
|
-
const roots = [];
|
|
61
|
-
if (_exists(_roots.LEGACY_SRC)) {
|
|
62
|
-
roots.push(_roots.LEGACY_SRC);
|
|
63
|
-
}
|
|
64
|
-
if (_exists(_roots.PACKAGES)) {
|
|
65
|
-
for (const pkg of _iterdirSorted(_roots.PACKAGES)) {
|
|
66
|
-
const sub = path.join(pkg, ".agent-src.uncondensed");
|
|
67
|
-
if (_isDir(sub)) {
|
|
68
|
-
roots.push(sub);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
if (_isDir(_roots.SRC_AGENT)) {
|
|
73
|
-
roots.push(_roots.SRC_AGENT);
|
|
74
|
-
}
|
|
75
|
-
if (_isDir(_roots.SRC_SKILLS) || _isDir(_roots.SRC_RULES)) {
|
|
76
|
-
roots.push(_roots.SRC);
|
|
77
|
-
}
|
|
78
|
-
return roots;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// src/scripts/config/profiles.ts
|
|
82
14
|
var _require = createRequire(import.meta.url);
|
|
83
15
|
var PROFILE_ID_ENV = "AGENT_CONFIG_PROFILE_ID";
|
|
84
16
|
var DEFAULT_PROFILE_ID = "developer";
|
|
@@ -129,7 +61,7 @@ function _load_yaml(p) {
|
|
|
129
61
|
}
|
|
130
62
|
let text;
|
|
131
63
|
try {
|
|
132
|
-
text =
|
|
64
|
+
text = fs.readFileSync(p, "utf-8");
|
|
133
65
|
} catch (exc) {
|
|
134
66
|
logger.warning("profile read failed for %s: %s", p, String(exc));
|
|
135
67
|
return {};
|
|
@@ -147,8 +79,8 @@ function _load_yaml(p) {
|
|
|
147
79
|
return _isPlainDict(data) ? data : {};
|
|
148
80
|
}
|
|
149
81
|
function profile_file(project_root, profile_id) {
|
|
150
|
-
const legacy =
|
|
151
|
-
if (
|
|
82
|
+
const legacy = path.join(project_root, PROFILES_DIRNAME, `${profile_id}.yml`);
|
|
83
|
+
if (_exists(legacy)) {
|
|
152
84
|
return legacy;
|
|
153
85
|
}
|
|
154
86
|
let roots;
|
|
@@ -158,8 +90,8 @@ function profile_file(project_root, profile_id) {
|
|
|
158
90
|
return legacy;
|
|
159
91
|
}
|
|
160
92
|
for (const root of roots) {
|
|
161
|
-
const candidate =
|
|
162
|
-
if (
|
|
93
|
+
const candidate = path.join(root, "profiles", `${profile_id}.yml`);
|
|
94
|
+
if (_exists(candidate)) {
|
|
163
95
|
return candidate;
|
|
164
96
|
}
|
|
165
97
|
}
|
|
@@ -211,14 +143,14 @@ function _pick_id(pack_profile_id, user_settings, runtime_id) {
|
|
|
211
143
|
}
|
|
212
144
|
function resolve_profile(params) {
|
|
213
145
|
const settings = params.user_settings ?? {};
|
|
214
|
-
const settings_file =
|
|
146
|
+
const settings_file = path.join(params.project_root, DEFAULT_PROJECT_FILE);
|
|
215
147
|
const [profile_id, source] = _pick_id(
|
|
216
148
|
params.pack_profile_id ?? null,
|
|
217
149
|
settings,
|
|
218
150
|
params.runtime_id ?? null
|
|
219
151
|
);
|
|
220
152
|
if (profile_id === null) {
|
|
221
|
-
if (
|
|
153
|
+
if (_exists(settings_file)) {
|
|
222
154
|
return new ResolvedProfile({
|
|
223
155
|
id: DEFAULT_PROFILE_ID,
|
|
224
156
|
source: SOURCE_MISSING,
|
|
@@ -232,16 +164,16 @@ function resolve_profile(params) {
|
|
|
232
164
|
);
|
|
233
165
|
}
|
|
234
166
|
const yaml_path = profile_file(params.project_root, profile_id);
|
|
235
|
-
if (!
|
|
167
|
+
if (!_exists(yaml_path)) {
|
|
236
168
|
throw new ProfileError(
|
|
237
169
|
`profile.id=${_repr(profile_id)} (${source}) but ${yaml_path} not found`
|
|
238
170
|
);
|
|
239
171
|
}
|
|
240
172
|
return _build_resolved(profile_id, _load_yaml(yaml_path), { source });
|
|
241
173
|
}
|
|
242
|
-
function
|
|
174
|
+
function _exists(p) {
|
|
243
175
|
try {
|
|
244
|
-
|
|
176
|
+
fs.statSync(p);
|
|
245
177
|
return true;
|
|
246
178
|
} catch {
|
|
247
179
|
return false;
|
|
@@ -261,7 +193,6 @@ function _repr(s) {
|
|
|
261
193
|
}
|
|
262
194
|
|
|
263
195
|
export {
|
|
264
|
-
artefact_roots,
|
|
265
196
|
PROFILE_ID_ENV,
|
|
266
197
|
SOURCE_MISSING,
|
|
267
198
|
ProfileError,
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
|
|
2
|
+
|
|
3
|
+
// src/scripts/_lib/agent_src.ts
|
|
4
|
+
import * as fs from "node:fs";
|
|
5
|
+
import * as path2 from "node:path";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
7
|
+
|
|
8
|
+
// src/scripts/_lib/guidelines_lane.ts
|
|
9
|
+
import * as path from "node:path";
|
|
10
|
+
var GUIDELINES_SOURCE_REL = path.join("docs", "guidelines");
|
|
11
|
+
|
|
12
|
+
// src/scripts/_lib/agent_src.ts
|
|
13
|
+
var _HERE = path2.dirname(fileURLToPath(import.meta.url));
|
|
14
|
+
var _DEFAULT_ROOT = path2.resolve(_HERE, "..", "..", "..");
|
|
15
|
+
function _deriveRoots(root) {
|
|
16
|
+
const packages = path2.join(root, "packages");
|
|
17
|
+
const src = path2.join(root, "src");
|
|
18
|
+
return {
|
|
19
|
+
ROOT: root,
|
|
20
|
+
LEGACY_SRC: path2.join(root, ".agent-src.uncondensed"),
|
|
21
|
+
PACKAGES: packages,
|
|
22
|
+
PACKAGE_CORE: path2.join(packages, "core"),
|
|
23
|
+
SRC: src,
|
|
24
|
+
SRC_SKILLS: path2.join(src, "skills"),
|
|
25
|
+
SRC_RULES: path2.join(src, "rules"),
|
|
26
|
+
SRC_AGENT: path2.join(src, "agent-src"),
|
|
27
|
+
SRC_DOMAINS: path2.join(src, "domains")
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
var _roots = _deriveRoots(_DEFAULT_ROOT);
|
|
31
|
+
function _isDir(p) {
|
|
32
|
+
try {
|
|
33
|
+
return fs.statSync(p).isDirectory();
|
|
34
|
+
} catch {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function _exists(p) {
|
|
39
|
+
try {
|
|
40
|
+
fs.statSync(p);
|
|
41
|
+
return true;
|
|
42
|
+
} catch {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function _iterdirSorted(p) {
|
|
47
|
+
let names;
|
|
48
|
+
try {
|
|
49
|
+
names = fs.readdirSync(p);
|
|
50
|
+
} catch {
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
names.sort();
|
|
54
|
+
return names.map((name) => path2.join(p, name));
|
|
55
|
+
}
|
|
56
|
+
function artefact_roots() {
|
|
57
|
+
const roots = [];
|
|
58
|
+
if (_exists(_roots.LEGACY_SRC)) {
|
|
59
|
+
roots.push(_roots.LEGACY_SRC);
|
|
60
|
+
}
|
|
61
|
+
if (_exists(_roots.PACKAGES)) {
|
|
62
|
+
for (const pkg of _iterdirSorted(_roots.PACKAGES)) {
|
|
63
|
+
const sub = path2.join(pkg, ".agent-src.uncondensed");
|
|
64
|
+
if (_isDir(sub)) {
|
|
65
|
+
roots.push(sub);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (_isDir(_roots.SRC_AGENT)) {
|
|
70
|
+
roots.push(_roots.SRC_AGENT);
|
|
71
|
+
}
|
|
72
|
+
if (_isDir(_roots.SRC_SKILLS) || _isDir(_roots.SRC_RULES)) {
|
|
73
|
+
roots.push(_roots.SRC);
|
|
74
|
+
}
|
|
75
|
+
return roots;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export {
|
|
79
|
+
artefact_roots
|
|
80
|
+
};
|
|
@@ -891,7 +891,9 @@ var DETECTOR_IDS = [
|
|
|
891
891
|
"promissory",
|
|
892
892
|
"language",
|
|
893
893
|
"verification",
|
|
894
|
-
"completion"
|
|
894
|
+
"completion",
|
|
895
|
+
"pending-decision",
|
|
896
|
+
"untested"
|
|
895
897
|
];
|
|
896
898
|
var REFUSAL_STATE_REL = path2.join("agents", "runtime", "state", "turn-end-gate");
|
|
897
899
|
function refusalStateDir(workspaceRoot) {
|
|
@@ -916,7 +918,9 @@ function readSessionCounts(workspaceRoot, sessionId) {
|
|
|
916
918
|
}
|
|
917
919
|
}
|
|
918
920
|
function emptyCounts() {
|
|
919
|
-
|
|
921
|
+
const out = {};
|
|
922
|
+
for (const id of DETECTOR_IDS) out[id] = 0;
|
|
923
|
+
return out;
|
|
920
924
|
}
|
|
921
925
|
function isDetector(v) {
|
|
922
926
|
return typeof v === "string" && DETECTOR_IDS.includes(v);
|
|
@@ -942,6 +946,9 @@ function parseRecord(raw) {
|
|
|
942
946
|
if (typeof o["agent_config_version"] === "string") {
|
|
943
947
|
rec.agent_config_version = o["agent_config_version"];
|
|
944
948
|
}
|
|
949
|
+
if (typeof o["refused_prompt_id"] === "string") {
|
|
950
|
+
rec.refused_prompt_id = o["refused_prompt_id"];
|
|
951
|
+
}
|
|
945
952
|
const counts = o["counts"];
|
|
946
953
|
if (typeof counts === "object" && counts !== null && !Array.isArray(counts)) {
|
|
947
954
|
const parsed = {};
|
|
@@ -985,6 +992,9 @@ function foldRefusal(prev, input) {
|
|
|
985
992
|
else if (prev?.agent_config_version !== void 0) {
|
|
986
993
|
rec.agent_config_version = prev.agent_config_version;
|
|
987
994
|
}
|
|
995
|
+
if (input.promptId !== void 0 && input.promptId !== "") {
|
|
996
|
+
rec.refused_prompt_id = input.promptId;
|
|
997
|
+
}
|
|
988
998
|
return rec;
|
|
989
999
|
}
|
|
990
1000
|
function readInstallBoundary() {
|
|
@@ -89,8 +89,24 @@ function path_weight(rel_path) {
|
|
|
89
89
|
return is_example_path(rel_path) ? 0.25 : 1;
|
|
90
90
|
}
|
|
91
91
|
var PROJECTION_PREFIX = "dist/agent-src/";
|
|
92
|
+
var PROJECTION_SOURCE_LANES = [
|
|
93
|
+
// The guidelines lane copies `docs/guidelines/` (`_lib/guidelines_lane.ts`),
|
|
94
|
+
// not `src/guidelines/`, which does not exist. Without this row a projected
|
|
95
|
+
// guideline gets a DIFFERENT identity from its own source, so a bound
|
|
96
|
+
// pragma written in the source cannot suppress the projection's copy of the
|
|
97
|
+
// very same line — measured on
|
|
98
|
+
// `untrusted-input-spotlighting.md`, a defense guideline that quotes
|
|
99
|
+
// role-takeover phrases to teach refusal and carries three accepted
|
|
100
|
+
// fingerprints for exactly that.
|
|
101
|
+
["guidelines/", "docs/guidelines/"]
|
|
102
|
+
];
|
|
92
103
|
function source_identity(rel) {
|
|
93
|
-
|
|
104
|
+
if (!rel.startsWith(PROJECTION_PREFIX)) return rel;
|
|
105
|
+
const tail = rel.slice(PROJECTION_PREFIX.length);
|
|
106
|
+
for (const [lane, sourceRoot] of PROJECTION_SOURCE_LANES) {
|
|
107
|
+
if (tail.startsWith(lane)) return sourceRoot + tail.slice(lane.length);
|
|
108
|
+
}
|
|
109
|
+
return `src/${tail}`;
|
|
94
110
|
}
|
|
95
111
|
var ScannedFile = class {
|
|
96
112
|
path;
|