@pilotspace/add 1.14.0 → 1.16.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/CHANGELOG.md +195 -1
- package/README.md +70 -3
- package/THIRD_PARTY_NOTICES.md +41 -0
- package/agents/add-advisor.md +31 -0
- package/agents/add-build.md +29 -0
- package/agents/add-design.md +32 -0
- package/agents/add-persona.md +31 -0
- package/agents/add-verify.md +34 -0
- package/bin/cli.js +615 -54
- package/docs/02-the-flow.md +1 -1
- package/docs/03-step-1-specify.md +4 -0
- package/docs/04-step-2-scenarios.md +4 -0
- package/docs/06-step-4-tests.md +4 -0
- package/docs/08-step-6-verify.md +7 -0
- package/docs/18-personas.md +80 -0
- package/docs/add-milestone-task-lifecycle.png +0 -0
- package/docs/add-task-growth-wheel.png +0 -0
- package/docs/appendix-c-glossary.md +5 -1
- package/package.json +4 -1
- package/personas-teacher/LICENSE +21 -0
- package/personas-teacher/README.md +1067 -0
- package/personas-teacher/VENDOR.md +13 -0
- package/personas-teacher/academic/academic-anthropologist.md +125 -0
- package/personas-teacher/academic/academic-geographer.md +127 -0
- package/personas-teacher/academic/academic-historian.md +123 -0
- package/personas-teacher/academic/academic-narratologist.md +118 -0
- package/personas-teacher/academic/academic-psychologist.md +118 -0
- package/personas-teacher/design/design-brand-guardian.md +322 -0
- package/personas-teacher/design/design-image-prompt-engineer.md +236 -0
- package/personas-teacher/design/design-inclusive-visuals-specialist.md +71 -0
- package/personas-teacher/design/design-persona-walkthrough.md +272 -0
- package/personas-teacher/design/design-ui-designer.md +383 -0
- package/personas-teacher/design/design-ux-architect.md +469 -0
- package/personas-teacher/design/design-ux-researcher.md +329 -0
- package/personas-teacher/design/design-visual-storyteller.md +149 -0
- package/personas-teacher/design/design-whimsy-injector.md +438 -0
- package/personas-teacher/divisions.json +21 -0
- package/personas-teacher/engineering/engineering-ai-data-remediation-engineer.md +211 -0
- package/personas-teacher/engineering/engineering-ai-engineer.md +146 -0
- package/personas-teacher/engineering/engineering-autonomous-optimization-architect.md +107 -0
- package/personas-teacher/engineering/engineering-backend-architect.md +236 -0
- package/personas-teacher/engineering/engineering-cms-developer.md +536 -0
- package/personas-teacher/engineering/engineering-code-reviewer.md +76 -0
- package/personas-teacher/engineering/engineering-codebase-onboarding-engineer.md +173 -0
- package/personas-teacher/engineering/engineering-data-engineer.md +306 -0
- package/personas-teacher/engineering/engineering-database-optimizer.md +176 -0
- package/personas-teacher/engineering/engineering-devops-automator.md +376 -0
- package/personas-teacher/engineering/engineering-drupal-shopping-cart.md +360 -0
- package/personas-teacher/engineering/engineering-email-intelligence-engineer.md +353 -0
- package/personas-teacher/engineering/engineering-embedded-firmware-engineer.md +173 -0
- package/personas-teacher/engineering/engineering-feishu-integration-developer.md +598 -0
- package/personas-teacher/engineering/engineering-filament-optimization-specialist.md +283 -0
- package/personas-teacher/engineering/engineering-frontend-developer.md +225 -0
- package/personas-teacher/engineering/engineering-git-workflow-master.md +84 -0
- package/personas-teacher/engineering/engineering-incident-response-commander.md +444 -0
- package/personas-teacher/engineering/engineering-it-service-manager.md +561 -0
- package/personas-teacher/engineering/engineering-minimal-change-engineer.md +207 -0
- package/personas-teacher/engineering/engineering-mobile-app-builder.md +493 -0
- package/personas-teacher/engineering/engineering-multi-agent-systems-architect.md +600 -0
- package/personas-teacher/engineering/engineering-orgscript-engineer.md +113 -0
- package/personas-teacher/engineering/engineering-prompt-engineer.md +202 -0
- package/personas-teacher/engineering/engineering-rapid-prototyper.md +462 -0
- package/personas-teacher/engineering/engineering-senior-developer.md +176 -0
- package/personas-teacher/engineering/engineering-software-architect.md +112 -0
- package/personas-teacher/engineering/engineering-solidity-smart-contract-engineer.md +522 -0
- package/personas-teacher/engineering/engineering-sre.md +90 -0
- package/personas-teacher/engineering/engineering-technical-writer.md +393 -0
- package/personas-teacher/engineering/engineering-voice-ai-integration-engineer.md +561 -0
- package/personas-teacher/engineering/engineering-wechat-mini-program-developer.md +350 -0
- package/personas-teacher/engineering/engineering-wordpress-shopping-cart.md +346 -0
- package/personas-teacher/examples/README.md +48 -0
- package/personas-teacher/examples/nexus-spatial-discovery.md +852 -0
- package/personas-teacher/examples/workflow-book-chapter.md +55 -0
- package/personas-teacher/examples/workflow-landing-page.md +119 -0
- package/personas-teacher/examples/workflow-startup-mvp.md +155 -0
- package/personas-teacher/examples/workflow-with-memory.md +238 -0
- package/personas-teacher/finance/finance-bookkeeper-controller.md +260 -0
- package/personas-teacher/finance/finance-financial-analyst.md +234 -0
- package/personas-teacher/finance/finance-fpa-analyst.md +263 -0
- package/personas-teacher/finance/finance-investment-researcher.md +272 -0
- package/personas-teacher/finance/finance-tax-strategist.md +239 -0
- package/personas-teacher/game-development/blender/blender-addon-engineer.md +234 -0
- package/personas-teacher/game-development/game-audio-engineer.md +264 -0
- package/personas-teacher/game-development/game-designer.md +167 -0
- package/personas-teacher/game-development/godot/godot-gameplay-scripter.md +334 -0
- package/personas-teacher/game-development/godot/godot-multiplayer-engineer.md +297 -0
- package/personas-teacher/game-development/godot/godot-shader-developer.md +266 -0
- package/personas-teacher/game-development/level-designer.md +208 -0
- package/personas-teacher/game-development/narrative-designer.md +243 -0
- package/personas-teacher/game-development/roblox-studio/roblox-avatar-creator.md +297 -0
- package/personas-teacher/game-development/roblox-studio/roblox-experience-designer.md +305 -0
- package/personas-teacher/game-development/roblox-studio/roblox-systems-scripter.md +325 -0
- package/personas-teacher/game-development/technical-artist.md +229 -0
- package/personas-teacher/game-development/unity/unity-architect.md +271 -0
- package/personas-teacher/game-development/unity/unity-editor-tool-developer.md +310 -0
- package/personas-teacher/game-development/unity/unity-multiplayer-engineer.md +321 -0
- package/personas-teacher/game-development/unity/unity-shader-graph-artist.md +269 -0
- package/personas-teacher/game-development/unreal-engine/unreal-multiplayer-architect.md +313 -0
- package/personas-teacher/game-development/unreal-engine/unreal-systems-engineer.md +310 -0
- package/personas-teacher/game-development/unreal-engine/unreal-technical-artist.md +256 -0
- package/personas-teacher/game-development/unreal-engine/unreal-world-builder.md +273 -0
- package/personas-teacher/gis/gis-3d-scene-developer.md +111 -0
- package/personas-teacher/gis/gis-analyst.md +91 -0
- package/personas-teacher/gis/gis-bim-specialist.md +108 -0
- package/personas-teacher/gis/gis-cartography-designer.md +150 -0
- package/personas-teacher/gis/gis-drone-reality-mapping.md +120 -0
- package/personas-teacher/gis/gis-geoai-ml-engineer.md +105 -0
- package/personas-teacher/gis/gis-geoprocessing-specialist.md +97 -0
- package/personas-teacher/gis/gis-qa-engineer.md +133 -0
- package/personas-teacher/gis/gis-solution-engineer.md +101 -0
- package/personas-teacher/gis/gis-spatial-data-engineer.md +97 -0
- package/personas-teacher/gis/gis-spatial-data-scientist.md +111 -0
- package/personas-teacher/gis/gis-technical-consultant.md +86 -0
- package/personas-teacher/gis/gis-web-gis-developer.md +108 -0
- package/personas-teacher/marketing/marketing-aeo-foundations.md +264 -0
- package/personas-teacher/marketing/marketing-agentic-search-optimizer.md +311 -0
- package/personas-teacher/marketing/marketing-ai-citation-strategist.md +170 -0
- package/personas-teacher/marketing/marketing-app-store-optimizer.md +321 -0
- package/personas-teacher/marketing/marketing-baidu-seo-specialist.md +226 -0
- package/personas-teacher/marketing/marketing-bilibili-content-strategist.md +199 -0
- package/personas-teacher/marketing/marketing-book-co-author.md +110 -0
- package/personas-teacher/marketing/marketing-carousel-growth-engine.md +199 -0
- package/personas-teacher/marketing/marketing-china-ecommerce-operator.md +283 -0
- package/personas-teacher/marketing/marketing-china-market-localization-strategist.md +283 -0
- package/personas-teacher/marketing/marketing-content-creator.md +54 -0
- package/personas-teacher/marketing/marketing-cross-border-ecommerce.md +259 -0
- package/personas-teacher/marketing/marketing-douyin-strategist.md +149 -0
- package/personas-teacher/marketing/marketing-email-strategist.md +249 -0
- package/personas-teacher/marketing/marketing-global-podcast-strategist.md +206 -0
- package/personas-teacher/marketing/marketing-growth-hacker.md +54 -0
- package/personas-teacher/marketing/marketing-instagram-curator.md +113 -0
- package/personas-teacher/marketing/marketing-kuaishou-strategist.md +223 -0
- package/personas-teacher/marketing/marketing-linkedin-content-creator.md +214 -0
- package/personas-teacher/marketing/marketing-livestream-commerce-coach.md +305 -0
- package/personas-teacher/marketing/marketing-multi-platform-publisher.md +217 -0
- package/personas-teacher/marketing/marketing-podcast-strategist.md +277 -0
- package/personas-teacher/marketing/marketing-pr-communications-manager.md +473 -0
- package/personas-teacher/marketing/marketing-private-domain-operator.md +308 -0
- package/personas-teacher/marketing/marketing-reddit-community-builder.md +123 -0
- package/personas-teacher/marketing/marketing-seo-specialist.md +321 -0
- package/personas-teacher/marketing/marketing-short-video-editing-coach.md +412 -0
- package/personas-teacher/marketing/marketing-social-media-strategist.md +125 -0
- package/personas-teacher/marketing/marketing-tiktok-strategist.md +125 -0
- package/personas-teacher/marketing/marketing-twitter-engager.md +126 -0
- package/personas-teacher/marketing/marketing-video-optimization-specialist.md +119 -0
- package/personas-teacher/marketing/marketing-wechat-official-account.md +145 -0
- package/personas-teacher/marketing/marketing-weibo-strategist.md +240 -0
- package/personas-teacher/marketing/marketing-x-twitter-intelligence-analyst.md +161 -0
- package/personas-teacher/marketing/marketing-xiaohongshu-specialist.md +138 -0
- package/personas-teacher/marketing/marketing-zhihu-strategist.md +162 -0
- package/personas-teacher/paid-media/paid-media-auditor.md +71 -0
- package/personas-teacher/paid-media/paid-media-creative-strategist.md +71 -0
- package/personas-teacher/paid-media/paid-media-paid-social-strategist.md +71 -0
- package/personas-teacher/paid-media/paid-media-ppc-strategist.md +71 -0
- package/personas-teacher/paid-media/paid-media-programmatic-buyer.md +71 -0
- package/personas-teacher/paid-media/paid-media-search-query-analyst.md +71 -0
- package/personas-teacher/paid-media/paid-media-tracking-specialist.md +71 -0
- package/personas-teacher/product/product-behavioral-nudge-engine.md +80 -0
- package/personas-teacher/product/product-feedback-synthesizer.md +119 -0
- package/personas-teacher/product/product-manager.md +469 -0
- package/personas-teacher/product/product-sprint-prioritizer.md +154 -0
- package/personas-teacher/product/product-trend-researcher.md +159 -0
- package/personas-teacher/project-management/project-management-experiment-tracker.md +198 -0
- package/personas-teacher/project-management/project-management-jira-workflow-steward.md +230 -0
- package/personas-teacher/project-management/project-management-meeting-notes-specialist.md +95 -0
- package/personas-teacher/project-management/project-management-project-shepherd.md +194 -0
- package/personas-teacher/project-management/project-management-studio-operations.md +200 -0
- package/personas-teacher/project-management/project-management-studio-producer.md +203 -0
- package/personas-teacher/project-management/project-manager-senior.md +135 -0
- package/personas-teacher/sales/sales-account-strategist.md +227 -0
- package/personas-teacher/sales/sales-coach.md +271 -0
- package/personas-teacher/sales/sales-deal-strategist.md +180 -0
- package/personas-teacher/sales/sales-discovery-coach.md +225 -0
- package/personas-teacher/sales/sales-engineer.md +182 -0
- package/personas-teacher/sales/sales-offer-lead-gen-strategist.md +257 -0
- package/personas-teacher/sales/sales-outbound-strategist.md +201 -0
- package/personas-teacher/sales/sales-pipeline-analyst.md +267 -0
- package/personas-teacher/sales/sales-proposal-strategist.md +217 -0
- package/personas-teacher/security/security-appsec-engineer.md +491 -0
- package/personas-teacher/security/security-architect.md +304 -0
- package/personas-teacher/security/security-blockchain-security-auditor.md +463 -0
- package/personas-teacher/security/security-cloud-security-architect.md +523 -0
- package/personas-teacher/security/security-compliance-auditor.md +158 -0
- package/personas-teacher/security/security-incident-responder.md +437 -0
- package/personas-teacher/security/security-penetration-tester.md +399 -0
- package/personas-teacher/security/security-senior-secops.md +750 -0
- package/personas-teacher/security/security-threat-detection-engineer.md +534 -0
- package/personas-teacher/security/security-threat-intelligence-analyst.md +644 -0
- package/personas-teacher/spatial-computing/macos-spatial-metal-engineer.md +337 -0
- package/personas-teacher/spatial-computing/terminal-integration-specialist.md +70 -0
- package/personas-teacher/spatial-computing/visionos-spatial-engineer.md +54 -0
- package/personas-teacher/spatial-computing/xr-cockpit-interaction-specialist.md +32 -0
- package/personas-teacher/spatial-computing/xr-immersive-developer.md +32 -0
- package/personas-teacher/spatial-computing/xr-interface-architect.md +32 -0
- package/personas-teacher/specialized/accounts-payable-agent.md +185 -0
- package/personas-teacher/specialized/agentic-identity-trust.md +387 -0
- package/personas-teacher/specialized/agents-orchestrator.md +367 -0
- package/personas-teacher/specialized/automation-governance-architect.md +216 -0
- package/personas-teacher/specialized/business-strategist.md +488 -0
- package/personas-teacher/specialized/change-management-consultant.md +497 -0
- package/personas-teacher/specialized/chief-financial-officer.md +388 -0
- package/personas-teacher/specialized/corporate-training-designer.md +192 -0
- package/personas-teacher/specialized/customer-service.md +398 -0
- package/personas-teacher/specialized/customer-success-manager.md +460 -0
- package/personas-teacher/specialized/data-consolidation-agent.md +60 -0
- package/personas-teacher/specialized/data-privacy-officer.md +412 -0
- package/personas-teacher/specialized/esg-sustainability-officer.md +396 -0
- package/personas-teacher/specialized/government-digital-presales-consultant.md +363 -0
- package/personas-teacher/specialized/grant-writer.md +511 -0
- package/personas-teacher/specialized/healthcare-customer-service.md +389 -0
- package/personas-teacher/specialized/healthcare-marketing-compliance.md +395 -0
- package/personas-teacher/specialized/hospitality-guest-services.md +603 -0
- package/personas-teacher/specialized/hr-onboarding.md +451 -0
- package/personas-teacher/specialized/identity-graph-operator.md +260 -0
- package/personas-teacher/specialized/language-translator.md +264 -0
- package/personas-teacher/specialized/legal-billing-time-tracking.md +569 -0
- package/personas-teacher/specialized/legal-client-intake.md +492 -0
- package/personas-teacher/specialized/legal-document-review.md +454 -0
- package/personas-teacher/specialized/loan-officer-assistant.md +555 -0
- package/personas-teacher/specialized/lsp-index-engineer.md +314 -0
- package/personas-teacher/specialized/ma-integration-manager.md +427 -0
- package/personas-teacher/specialized/medical-billing-coding-specialist.md +491 -0
- package/personas-teacher/specialized/operations-manager.md +399 -0
- package/personas-teacher/specialized/organizational-psychologist.md +391 -0
- package/personas-teacher/specialized/personal-growth-mentor.md +159 -0
- package/personas-teacher/specialized/real-estate-buyer-seller.md +596 -0
- package/personas-teacher/specialized/recruitment-specialist.md +509 -0
- package/personas-teacher/specialized/report-distribution-agent.md +65 -0
- package/personas-teacher/specialized/retail-customer-returns.md +566 -0
- package/personas-teacher/specialized/sales-data-extraction-agent.md +67 -0
- package/personas-teacher/specialized/sales-outreach.md +425 -0
- package/personas-teacher/specialized/specialized-chief-of-staff.md +279 -0
- package/personas-teacher/specialized/specialized-civil-engineer.md +356 -0
- package/personas-teacher/specialized/specialized-cultural-intelligence-strategist.md +88 -0
- package/personas-teacher/specialized/specialized-developer-advocate.md +317 -0
- package/personas-teacher/specialized/specialized-document-generator.md +55 -0
- package/personas-teacher/specialized/specialized-french-consulting-market.md +192 -0
- package/personas-teacher/specialized/specialized-korean-business-navigator.md +216 -0
- package/personas-teacher/specialized/specialized-mcp-builder.md +248 -0
- package/personas-teacher/specialized/specialized-model-qa.md +488 -0
- package/personas-teacher/specialized/specialized-pricing-analyst.md +243 -0
- package/personas-teacher/specialized/specialized-salesforce-architect.md +180 -0
- package/personas-teacher/specialized/specialized-strategy-duel-agent.md +130 -0
- package/personas-teacher/specialized/specialized-workflow-architect.md +597 -0
- package/personas-teacher/specialized/study-abroad-advisor.md +282 -0
- package/personas-teacher/specialized/supply-chain-strategist.md +582 -0
- package/personas-teacher/specialized/zk-steward.md +211 -0
- package/personas-teacher/strategy/EXECUTIVE-BRIEF.md +95 -0
- package/personas-teacher/strategy/QUICKSTART.md +194 -0
- package/personas-teacher/strategy/coordination/agent-activation-prompts.md +401 -0
- package/personas-teacher/strategy/coordination/handoff-templates.md +357 -0
- package/personas-teacher/strategy/nexus-strategy.md +1110 -0
- package/personas-teacher/strategy/playbooks/phase-0-discovery.md +178 -0
- package/personas-teacher/strategy/playbooks/phase-1-strategy.md +238 -0
- package/personas-teacher/strategy/playbooks/phase-2-foundation.md +278 -0
- package/personas-teacher/strategy/playbooks/phase-3-build.md +286 -0
- package/personas-teacher/strategy/playbooks/phase-4-hardening.md +332 -0
- package/personas-teacher/strategy/playbooks/phase-5-launch.md +277 -0
- package/personas-teacher/strategy/playbooks/phase-6-operate.md +318 -0
- package/personas-teacher/strategy/runbooks/scenario-enterprise-feature.md +157 -0
- package/personas-teacher/strategy/runbooks/scenario-incident-response.md +217 -0
- package/personas-teacher/strategy/runbooks/scenario-marketing-campaign.md +187 -0
- package/personas-teacher/strategy/runbooks/scenario-startup-mvp.md +154 -0
- package/personas-teacher/support/support-analytics-reporter.md +365 -0
- package/personas-teacher/support/support-executive-summary-generator.md +212 -0
- package/personas-teacher/support/support-finance-tracker.md +442 -0
- package/personas-teacher/support/support-infrastructure-maintainer.md +618 -0
- package/personas-teacher/support/support-legal-compliance-checker.md +588 -0
- package/personas-teacher/support/support-support-responder.md +585 -0
- package/personas-teacher/testing/testing-accessibility-auditor.md +316 -0
- package/personas-teacher/testing/testing-api-tester.md +306 -0
- package/personas-teacher/testing/testing-evidence-collector.md +210 -0
- package/personas-teacher/testing/testing-performance-benchmarker.md +268 -0
- package/personas-teacher/testing/testing-reality-checker.md +236 -0
- package/personas-teacher/testing/testing-test-results-analyzer.md +305 -0
- package/personas-teacher/testing/testing-tool-evaluator.md +394 -0
- package/personas-teacher/testing/testing-workflow-optimizer.md +450 -0
- package/personas-teacher/tools.json +19 -0
- package/skill/add/SKILL.md +20 -14
- package/skill/add/advisor.md +33 -34
- package/skill/add/confidence.md +1 -1
- package/skill/add/deltas.md +12 -13
- package/skill/add/design.md +52 -49
- package/skill/add/fold.md +18 -16
- package/skill/add/intake.md +4 -3
- package/skill/add/loop.md +3 -4
- package/skill/add/phases/0-ground.md +32 -34
- package/skill/add/phases/0-setup.md +22 -21
- package/skill/add/phases/1-specify.md +8 -6
- package/skill/add/phases/3-contract.md +1 -1
- package/skill/add/phases/4-tests.md +9 -10
- package/skill/add/phases/5-build.md +17 -13
- package/skill/add/phases/6-verify.md +9 -4
- package/skill/add/phases/7-observe.md +2 -1
- package/skill/add/report-template.md +62 -18
- package/skill/add/run.md +5 -3
- package/skill/add/scope.md +2 -2
- package/skill/add/sensitivity.md +51 -0
- package/skill/add/streams.md +31 -23
- package/tooling/add.py +906 -28
- package/tooling/add_engine/autonomy.py +36 -1
- package/tooling/add_engine/constants.py +56 -3
- package/tooling/add_engine/guidelines.py +22 -20
- package/tooling/add_engine/predicates.py +56 -3
- package/tooling/add_engine/search.py +165 -0
- package/tooling/templates/GLOSSARY.md.tmpl +16 -0
- package/tooling/templates/MILESTONE.md.tmpl +9 -0
- package/tooling/templates/PROMPT.persona.md.tmpl +44 -0
- package/tooling/templates/TASK.fast.md.tmpl +1 -0
- package/tooling/templates/TASK.md.tmpl +39 -6
- package/tooling/templates/gitignore.tmpl +12 -0
- package/tooling/templates/personas/_template.md.tmpl +60 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# TASK: {{title}}
|
|
2
2
|
|
|
3
3
|
slug: {{slug}} · created: {{date}} · stage: {{stage}}
|
|
4
|
+
milestone: {{milestone}}
|
|
4
5
|
autonomy: {{autonomy}} <!-- inherited from the project default (PROJECT.md); explicit level: manual < conservative < auto (visible · overridable) — lower below if a high-risk task needs it, or run `add.py autonomy set`. Multi-component repo (monorepo/multi-repo)? add a `component: <name>` line (declared in `.add/components.toml`) to ADD that component's root to your §5 Scope; omit for single-component projects (byte-identical default). -->
|
|
5
6
|
phase: ground <!-- ground -> specify -> scenarios -> contract -> tests -> build -> verify -> observe -> done -->
|
|
6
7
|
<!-- high-risk/method-defining scope? declare `risk: high` on the slug line above and lower the
|
|
@@ -18,7 +19,11 @@ phase: ground <!-- ground -> specify -> scenarios -> contract -> tests -> buil
|
|
|
18
19
|
Touches (files · symbols · signatures): <path:symbol — what it is / how it is keyed>
|
|
19
20
|
Context (working folder): <docs · todos · config · data the task touches — task-delta only>
|
|
20
21
|
Honors (patterns / conventions): <PROJECT.md / CONVENTIONS.md anchors — task-delta only, never a re-scan>
|
|
22
|
+
Seams consulted: <SEAMS.md entry cited instead of re-deriving, e.g. .add/SEAMS.md#scope-token-grammar — optional, omit if none apply>
|
|
21
23
|
Anchors the contract cites: <the symbols §3 will name>
|
|
24
|
+
Issues/Risks (→ feed §1): <problems · traps · untestable risks found in the real code — task-delta; §1 builds on these>
|
|
25
|
+
Related intent: <PROJECT.md § · GLOSSARY term(s) · originating request/milestone rationale — the WHY; task-delta>
|
|
26
|
+
Ground SHA: <`git rev-parse --short HEAD` at ground time — cite symbols, not bare line numbers; any line ref is "as of" this commit>
|
|
22
27
|
|
|
23
28
|
---
|
|
24
29
|
|
|
@@ -53,7 +58,7 @@ Assumptions — lowest-confidence first:
|
|
|
53
58
|
<scenarios>
|
|
54
59
|
|
|
55
60
|
```gherkin
|
|
56
|
-
Scenario: <short name>
|
|
61
|
+
Scenario: <short name> # <Must/Reject item this covers, e.g. M1 or R1>
|
|
57
62
|
Given <starting situation>
|
|
58
63
|
When <action>
|
|
59
64
|
Then <expected result>
|
|
@@ -75,14 +80,17 @@ Scenario: <short name>
|
|
|
75
80
|
Schema: <tables/fields touched, and access pattern>
|
|
76
81
|
```
|
|
77
82
|
|
|
83
|
+
Glossary deltas: <new domain term(s) this task introduces, `Term: definition` — or "none">
|
|
78
84
|
Status: DRAFT
|
|
85
|
+
Reported: <yes — the freeze report (banner/ARC/SHAPE) rendered before this froze | no>
|
|
79
86
|
<!-- The freeze IS the one approval — lead it with the bundle's lowest-confidence flag: the 1–2
|
|
80
87
|
points most likely wrong across the whole bundle, tagged [spec|scenario|contract|test], each
|
|
81
88
|
with why + cost (the §1 ⚠ assumptions feed it; a flag may point at a scenario or the contract
|
|
82
89
|
too — see run.md). Approved -> Status: FROZEN @ vN — approved by <name>. Changing a frozen
|
|
83
90
|
contract = change request back to SPECIFY.
|
|
84
|
-
EXIT: frozen + every spec rejection has a contracted response + names match GLOSSARY
|
|
85
|
-
bundle's lowest-confidence flag was surfaced at
|
|
91
|
+
EXIT: frozen + every spec rejection has a contracted response + names match GLOSSARY (new
|
|
92
|
+
terms declared as a Glossary delta) + the bundle's lowest-confidence flag was surfaced at
|
|
93
|
+
the freeze (or an honest "none material"). -->
|
|
86
94
|
|
|
87
95
|
---
|
|
88
96
|
|
|
@@ -91,7 +99,7 @@ Status: DRAFT
|
|
|
91
99
|
Coverage target: <e.g. 90%>
|
|
92
100
|
Plan (one test per scenario, asserting behavior not internals):
|
|
93
101
|
<test_plan>
|
|
94
|
-
- test_<scenario>: arrange <Given> / act <When> / assert <Then> + assert <unchanged>
|
|
102
|
+
- test_<scenario>: arrange <Given> / act <When> / assert <Then> + assert <unchanged> · covers: <M#, R:code — optional>
|
|
95
103
|
</test_plan>
|
|
96
104
|
|
|
97
105
|
Tests live in: `./tests/` · MUST run red (missing implementation) before Build.
|
|
@@ -107,7 +115,10 @@ Tests live in: `./tests/` · MUST run red (missing implementation) before Build.
|
|
|
107
115
|
## 5 · BUILD — AI writes code ▸ docs/07-step-5-build.md
|
|
108
116
|
|
|
109
117
|
Scope (may touch): `./src/` <fill before the §3 freeze — every file the build may write>
|
|
110
|
-
Strategy (ordered batches): <1. … 2. … — the planned build order; guidance, not enforced>
|
|
118
|
+
Strategy (ordered batches): <1. … 2. … — the planned build order; guidance, not enforced; preferred architecture/pattern strategies; advise solution/method to resolve issues/implement features>
|
|
119
|
+
|
|
120
|
+
Persona (optional): <name the persona file under `.add/personas/` this build embodies as a domain stance atop SOUL.md — advisory, never lowers a gate; absent = generic>
|
|
121
|
+
Spawn isolation (default): <prefer isolation: "worktree" for any subagent build/verify spawn, not only explicit parallel mode; shared-tree needs a stated reason — see worktree-isolated-spawn-default>
|
|
111
122
|
Known-problem fixes: <trap → planned fix — the failure modes this build must dodge; guidance, not enforced>
|
|
112
123
|
Strategy actually used: <fill at VERIFY — the strategy you ACTUALLY used (or "as planned"); harvested into the §7 Decisions (ADR) block as the [AI] build decision>
|
|
113
124
|
Safety rule (feature-specific): <e.g. debit+credit in one atomic transaction>
|
|
@@ -148,6 +159,14 @@ Constraints: do NOT change any test or the contract; allow-list packages only; a
|
|
|
148
159
|
- [ ] DEAD-CODE (code) — no new unused or orphaned symbol introduced
|
|
149
160
|
- [ ] SEMANTIC (prose / non-code) — read in full, not skimmed: <what read · what confirmed>
|
|
150
161
|
|
|
162
|
+
### Live-verify evidence — confirm the §0 GROUND anchors still resolve (fill at the gate)
|
|
163
|
+
> §0's Ground SHA anchors the symbols cited at ground time to that commit — code moves during
|
|
164
|
+
> build. Before the gate, re-resolve every symbol §3 CONTRACT cites against the CURRENT tree
|
|
165
|
+
> (not the Ground SHA) so a stale anchor is caught here, not by a future reader chasing a moved
|
|
166
|
+
> line.
|
|
167
|
+
- [ ] every symbol §3 CONTRACT cites still resolves in the current tree — confirmed by <how / where>
|
|
168
|
+
- [ ] any anchor that moved/renamed since Ground SHA is named here, not left silent
|
|
169
|
+
|
|
151
170
|
### Refute-read verdict — the earned-green check (record it; required for an auto-PASS)
|
|
152
171
|
> Under autonomy: auto the AI auto-resolves Verify, so the earned-green refute-read MUST be
|
|
153
172
|
> recorded here (the engine never spawns it — you do; NOT-EARNED -> `add.py heal`). The engine
|
|
@@ -156,12 +175,26 @@ Constraints: do NOT change any test or the contract; allow-list packages only; a
|
|
|
156
175
|
Verdict: <EARNED | NOT-EARNED>
|
|
157
176
|
By: <self | agent-id> · adversarially checked: <what was probed>
|
|
158
177
|
|
|
178
|
+
### Advisor 3-lens verdict — sequential (security → concurrency → architecture)
|
|
179
|
+
> Under autonomy: auto run the 3-lens checklist and record the verdict here. Lenses run in
|
|
180
|
+
> order; a Security HARD-STOP ends the checklist (leave remaining lenses blank). Binding for
|
|
181
|
+
> sensitivity: mechanical (advisor-gate-relax reads it); advisory for all other sensitivities.
|
|
182
|
+
> The engine MEASURES this block is filled (audit: advisor_verdict_unrecorded); it never blocks.
|
|
183
|
+
Advisor: <agent-id | self>
|
|
184
|
+
1. Security: <CLEAR | HARD-STOP: finding>
|
|
185
|
+
2. Concurrency: <CLEAR | RESIDUE: finding>
|
|
186
|
+
3. Architecture: <CLEAR | RESIDUE: finding>
|
|
187
|
+
Verdict: <PASS | HARD-STOP>
|
|
188
|
+
Residue: <none | summary>
|
|
189
|
+
Binding: <yes — mechanical | advisory — <sensitivity>>
|
|
190
|
+
|
|
159
191
|
### GATE RECORD
|
|
192
|
+
Reported: <yes — the gate report (banner/ARC) rendered before this outcome recorded | no>
|
|
160
193
|
Outcome: <PASS | RISK-ACCEPTED | HARD-STOP>
|
|
161
194
|
If RISK-ACCEPTED -> owner: <name> · ticket: <link> · expires: <date> (never for a security gap)
|
|
162
195
|
Reviewed by: <name> · date: <date>
|
|
163
196
|
|
|
164
|
-
<!-- A security finding is ALWAYS HARD-STOP. Record exactly one outcome — no silent pass. -->
|
|
197
|
+
<!-- A security finding is ALWAYS HARD-STOP. Record exactly one outcome — no silent pass. The Advisor 3-lens verdict and the Refute-read verdict are both measured by `add.py audit` (`advisor_verdict_unrecorded` · `refute_unrecorded`) — neither is engine-blocked; a human spot-audit is the backstop for any finding the AI did not surface or record. -->
|
|
165
198
|
|
|
166
199
|
---
|
|
167
200
|
|
|
@@ -4,3 +4,15 @@ scope-snapshot.json
|
|
|
4
4
|
pre-archive-state.bak.json
|
|
5
5
|
pre-update-state.bak.json
|
|
6
6
|
.update-cache.json
|
|
7
|
+
|
|
8
|
+
# ADD-managed vendor trees: regenerable/vendored copies the installer drops in,
|
|
9
|
+
# never project-authored — mirrors the .add/docs/ rationale above, generalized
|
|
10
|
+
# to every consumer project (not just this repo). Patterns are BARE, not repo-
|
|
11
|
+
# root style: this file lives INSIDE .add/, so git resolves its patterns
|
|
12
|
+
# relative to .add/ itself — a ".add/"-prefixed pattern here would look for
|
|
13
|
+
# the non-existent .add/.add/tooling/ and never match anything. (one further
|
|
14
|
+
# managed tree is NOT listed here — the engine's own _GITIGNORE_BODY constant
|
|
15
|
+
# must stay hands-off of it by name; the installer twins seed that pattern
|
|
16
|
+
# themselves, also bare.)
|
|
17
|
+
tooling/
|
|
18
|
+
docs/
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: <persona name — e.g. Frontend Engineer, UX Researcher>
|
|
3
|
+
vibe: <one-line essence — what this persona keeps true>
|
|
4
|
+
source: <OPTIONAL — the teacher file(s) this was distilled from, e.g. `.add/personas-teacher/engineering/engineering-software-architect.md` (provenance; omit if hand-authored)>
|
|
5
|
+
---
|
|
6
|
+
<!-- A PERSONA is a project-fit requirements persona, distilled from the vendored teacher
|
|
7
|
+
library (`.add/personas-teacher/`) to the parts ADD can act on. The AI authors one file
|
|
8
|
+
per persona this project needs (frontend, backend, reviewer, …) from PROJECT.md +
|
|
9
|
+
the teacher; the engine only seeds + validates this schema (presence-based). This
|
|
10
|
+
`_template.md` is the schema reference — copy it to `<slug>.md` and fill it.
|
|
11
|
+
|
|
12
|
+
REQUIRED: `name` + `vibe` frontmatter and the Identity / Critical Rules /
|
|
13
|
+
Default Requirement / Success Metrics sections.
|
|
14
|
+
OPTIONAL (recommended for a faithful distillation): `source:` frontmatter, and the
|
|
15
|
+
`## Anti-patterns` + `## Playbook` sections. The engine never requires the optional
|
|
16
|
+
parts; absence is conformant.
|
|
17
|
+
|
|
18
|
+
DISTILLATION DISCIPLINE (how to fill this faithfully — learned from the teacher corpus):
|
|
19
|
+
1. SCOPE = stance, not voice. A persona is a domain STANCE (what to enforce, what to
|
|
20
|
+
suspect, what "good" measures). TONE/voice belongs to SOUL.md — never duplicate it here.
|
|
21
|
+
2. KEEP the teacher's own rules. Carry 1–2 of the teacher's signature Critical Rules
|
|
22
|
+
VERBATIM-in-spirit before adding project-specific ones — distil, don't replace.
|
|
23
|
+
3. TAG provenance honestly. In `## Playbook`, mark each item teacher-derived vs
|
|
24
|
+
ADD-native. Never credit home-grown project scaffolding to the teacher.
|
|
25
|
+
4. METRICS are rules, not snapshots. Prefer an invariant ("suite matches the last
|
|
26
|
+
green run") over a volatile literal ("2491/0") that rots as the project grows. -->
|
|
27
|
+
|
|
28
|
+
## Identity
|
|
29
|
+
<who this persona is — role, domain depth, and the EARNED perspective it brings (what it has
|
|
30
|
+
seen succeed/fail that shapes its judgement). One short paragraph.>
|
|
31
|
+
|
|
32
|
+
## Critical Rules
|
|
33
|
+
<non-negotiables this persona ALWAYS enforces. Lead with 1–2 carried from the teacher (its
|
|
34
|
+
signature stance), then add project-specific ones.>
|
|
35
|
+
- <a teacher-sourced rule (the persona's signature non-negotiable)>
|
|
36
|
+
- <a project-specific rule this project needs>
|
|
37
|
+
|
|
38
|
+
<!-- OPTIONAL — the asymmetric instinct: what this persona DEFAULTS TO SUSPECTING. Distinct
|
|
39
|
+
from Critical Rules (always-do) — these are "treat X as guilty until proven innocent". -->
|
|
40
|
+
## Anti-patterns
|
|
41
|
+
- <a smell this persona refuses to wave through, with its default reaction — e.g.
|
|
42
|
+
"'0 issues found' on a first pass → look harder", "an abstraction with no second caller → cut it">
|
|
43
|
+
- <another anti-pattern + the default response>
|
|
44
|
+
|
|
45
|
+
## Default Requirement
|
|
46
|
+
<the one requirement this persona includes by default in every deliverable
|
|
47
|
+
(e.g. "WCAG AA accessibility in all designs", "tests-first for every change")>
|
|
48
|
+
|
|
49
|
+
## Success Metrics
|
|
50
|
+
<MEASURABLE outcomes that prove this persona's work is right. State each as an INVARIANT
|
|
51
|
+
(a rule that stays true as the project grows), not a today-snapshot that will rot.>
|
|
52
|
+
- <a measurable outcome — e.g. "4.5:1 contrast", "p95 < 100ms", "full suite green vs last logged run">
|
|
53
|
+
- <another measurable metric>
|
|
54
|
+
|
|
55
|
+
<!-- OPTIONAL — delete if the persona needs no executable scaffolding. -->
|
|
56
|
+
## Playbook
|
|
57
|
+
<the highest-value EXECUTABLE know-how — a checklist, a template, or a step sequence the
|
|
58
|
+
build can actually follow (e.g. an ADR skeleton, a STRIDE pass, a red→green loop). Tag each
|
|
59
|
+
item `(teacher)` or `(ADD)` so provenance is honest. Keep it to what gets used at the work
|
|
60
|
+
moment; link the full teacher file for depth: see the `source:` path above.>
|