@ahmed-g-gad/apothem 0.1.1
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 +60 -0
- package/LICENSE +21 -0
- package/LICENSES/MIT.txt +18 -0
- package/LICENSES/PSF-2.0.txt +47 -0
- package/README.md +549 -0
- package/bin/README.md +37 -0
- package/bin/apothem.mjs +78 -0
- package/package.json +75 -0
- package/pyproject.toml +347 -0
- package/src/apothem/README.md +52 -0
- package/src/apothem/__init__.py +66 -0
- package/src/apothem/__main__.py +28 -0
- package/src/apothem/_vendor/.keep +0 -0
- package/src/apothem/_vendor/__init__.py +25 -0
- package/src/apothem/_vendor/attr/__init__.py +104 -0
- package/src/apothem/_vendor/attr/__init__.pyi +389 -0
- package/src/apothem/_vendor/attr/_cmp.py +160 -0
- package/src/apothem/_vendor/attr/_cmp.pyi +13 -0
- package/src/apothem/_vendor/attr/_compat.py +99 -0
- package/src/apothem/_vendor/attr/_config.py +31 -0
- package/src/apothem/_vendor/attr/_funcs.py +497 -0
- package/src/apothem/_vendor/attr/_make.py +3406 -0
- package/src/apothem/_vendor/attr/_next_gen.py +674 -0
- package/src/apothem/_vendor/attr/_typing_compat.pyi +15 -0
- package/src/apothem/_vendor/attr/_version_info.py +89 -0
- package/src/apothem/_vendor/attr/_version_info.pyi +9 -0
- package/src/apothem/_vendor/attr/converters.py +162 -0
- package/src/apothem/_vendor/attr/converters.pyi +19 -0
- package/src/apothem/_vendor/attr/exceptions.py +95 -0
- package/src/apothem/_vendor/attr/exceptions.pyi +17 -0
- package/src/apothem/_vendor/attr/filters.py +72 -0
- package/src/apothem/_vendor/attr/filters.pyi +6 -0
- package/src/apothem/_vendor/attr/py.typed +0 -0
- package/src/apothem/_vendor/attr/setters.py +79 -0
- package/src/apothem/_vendor/attr/setters.pyi +20 -0
- package/src/apothem/_vendor/attr/validators.py +750 -0
- package/src/apothem/_vendor/attr/validators.pyi +140 -0
- package/src/apothem/_vendor/attr.LICENSE +21 -0
- package/src/apothem/_vendor/attrs/__init__.py +72 -0
- package/src/apothem/_vendor/attrs/__init__.pyi +314 -0
- package/src/apothem/_vendor/attrs/converters.py +3 -0
- package/src/apothem/_vendor/attrs/exceptions.py +3 -0
- package/src/apothem/_vendor/attrs/filters.py +3 -0
- package/src/apothem/_vendor/attrs/py.typed +0 -0
- package/src/apothem/_vendor/attrs/setters.py +3 -0
- package/src/apothem/_vendor/attrs/validators.py +3 -0
- package/src/apothem/_vendor/attrs.LICENSE +21 -0
- package/src/apothem/_vendor/jsonschema/__init__.py +120 -0
- package/src/apothem/_vendor/jsonschema/__main__.py +6 -0
- package/src/apothem/_vendor/jsonschema/_format.py +546 -0
- package/src/apothem/_vendor/jsonschema/_keywords.py +449 -0
- package/src/apothem/_vendor/jsonschema/_legacy_keywords.py +449 -0
- package/src/apothem/_vendor/jsonschema/_types.py +204 -0
- package/src/apothem/_vendor/jsonschema/_typing.py +29 -0
- package/src/apothem/_vendor/jsonschema/_utils.py +355 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/__init__.py +5 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/const_vs_enum.py +30 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/contains.py +28 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/import_benchmark.py +31 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/issue232/issue.json +2653 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/issue232.py +25 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/json_schema_test_suite.py +12 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/nested_schemas.py +56 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/subcomponents.py +42 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/unused_registry.py +35 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/useless_applicator_schemas.py +106 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/useless_keywords.py +32 -0
- package/src/apothem/_vendor/jsonschema/benchmarks/validator_creation.py +14 -0
- package/src/apothem/_vendor/jsonschema/cli.py +292 -0
- package/src/apothem/_vendor/jsonschema/exceptions.py +490 -0
- package/src/apothem/_vendor/jsonschema/protocols.py +230 -0
- package/src/apothem/_vendor/jsonschema/validators.py +1410 -0
- package/src/apothem/_vendor/jsonschema.LICENSE +19 -0
- package/src/apothem/_vendor/jsonschema_specifications/__init__.py +12 -0
- package/src/apothem/_vendor/jsonschema_specifications/_core.py +38 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/metaschema.json +42 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/applicator +56 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/content +17 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/core +57 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/format +14 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/meta-data +37 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft201909/vocabularies/validation +98 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/metaschema.json +58 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/applicator +48 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/content +17 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/core +51 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/format-annotation +14 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/format-assertion +14 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/meta-data +37 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/unevaluated +15 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft202012/vocabularies/validation +98 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft3/metaschema.json +172 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft4/metaschema.json +149 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft6/metaschema.json +153 -0
- package/src/apothem/_vendor/jsonschema_specifications/schemas/draft7/metaschema.json +166 -0
- package/src/apothem/_vendor/jsonschema_specifications.LICENSE +19 -0
- package/src/apothem/_vendor/referencing/__init__.py +7 -0
- package/src/apothem/_vendor/referencing/_attrs.py +31 -0
- package/src/apothem/_vendor/referencing/_attrs.pyi +21 -0
- package/src/apothem/_vendor/referencing/_core.py +739 -0
- package/src/apothem/_vendor/referencing/exceptions.py +165 -0
- package/src/apothem/_vendor/referencing/jsonschema.py +642 -0
- package/src/apothem/_vendor/referencing/py.typed +0 -0
- package/src/apothem/_vendor/referencing/retrieval.py +94 -0
- package/src/apothem/_vendor/referencing/typing.py +61 -0
- package/src/apothem/_vendor/referencing.LICENSE +19 -0
- package/src/apothem/_vendor/rpds/__init__.py +251 -0
- package/src/apothem/_vendor/typing_extensions.LICENSE +279 -0
- package/src/apothem/_vendor/typing_extensions.py +4317 -0
- package/src/apothem/_vendor/vendor.txt +22 -0
- package/src/apothem/_vendor/yaml/__init__.py +389 -0
- package/src/apothem/_vendor/yaml/composer.py +138 -0
- package/src/apothem/_vendor/yaml/constructor.py +748 -0
- package/src/apothem/_vendor/yaml/cyaml.py +100 -0
- package/src/apothem/_vendor/yaml/dumper.py +61 -0
- package/src/apothem/_vendor/yaml/emitter.py +1137 -0
- package/src/apothem/_vendor/yaml/error.py +74 -0
- package/src/apothem/_vendor/yaml/events.py +85 -0
- package/src/apothem/_vendor/yaml/loader.py +63 -0
- package/src/apothem/_vendor/yaml/nodes.py +48 -0
- package/src/apothem/_vendor/yaml/parser.py +588 -0
- package/src/apothem/_vendor/yaml/reader.py +185 -0
- package/src/apothem/_vendor/yaml/representer.py +388 -0
- package/src/apothem/_vendor/yaml/resolver.py +226 -0
- package/src/apothem/_vendor/yaml/scanner.py +1435 -0
- package/src/apothem/_vendor/yaml/serializer.py +110 -0
- package/src/apothem/_vendor/yaml/tokens.py +103 -0
- package/src/apothem/_vendor/yaml.LICENSE +20 -0
- package/src/apothem/agents/README.md +60 -0
- package/src/apothem/agents/codebase-explorer.md +91 -0
- package/src/apothem/agents/convention-auditor.md +93 -0
- package/src/apothem/agents/dependency-auditor.md +97 -0
- package/src/apothem/agents/fact-checker.md +84 -0
- package/src/apothem/agents/mcp-builder.md +86 -0
- package/src/apothem/agents/memory-auditor.md +93 -0
- package/src/apothem/agents/prompt-evaluator.md +87 -0
- package/src/apothem/agents/quality-gate.md +103 -0
- package/src/apothem/agents/refactor-surgeon.md +74 -0
- package/src/apothem/agents/research-scout.md +73 -0
- package/src/apothem/agents/security-scanner.md +83 -0
- package/src/apothem/agents/test-runner.md +84 -0
- package/src/apothem/audit/README.md +73 -0
- package/src/apothem/audit/_scan_lib.py +182 -0
- package/src/apothem/audit/analyze_graph.py +260 -0
- package/src/apothem/audit/build_capability_graph.py +607 -0
- package/src/apothem/audit/build_inventory.py +657 -0
- package/src/apothem/audit/build_plans_provenance.py +997 -0
- package/src/apothem/audit/check_links.py +389 -0
- package/src/apothem/audit/classify_artifacts.py +381 -0
- package/src/apothem/audit/deprecated-tokens.txt +10 -0
- package/src/apothem/audit/execute_plans_migration.py +491 -0
- package/src/apothem/audit/known-projects.txt +15 -0
- package/src/apothem/audit/render_capability_index.py +467 -0
- package/src/apothem/audit/render_inventory.py +405 -0
- package/src/apothem/audit/scan_ai_surfaces.py +1125 -0
- package/src/apothem/audit/scan_ai_surfaces_coarse.py +261 -0
- package/src/apothem/audit/scan_drift_features.py +143 -0
- package/src/apothem/audit/scan_frontmatter.py +293 -0
- package/src/apothem/audit/scan_header_coverage.py +1134 -0
- package/src/apothem/audit/scan_plan_leakage.py +540 -0
- package/src/apothem/audit/scan_plans_discipline.py +188 -0
- package/src/apothem/audit/scan_secrets_pii.py +245 -0
- package/src/apothem/audit/scan_stale_tokens.py +296 -0
- package/src/apothem/audit/synthesize_drift.py +205 -0
- package/src/apothem/benchmarks/README.md +33 -0
- package/src/apothem/benchmarks/__init__.py +3 -0
- package/src/apothem/benchmarks/bench_agents.py +63 -0
- package/src/apothem/benchmarks/bench_hooks.py +93 -0
- package/src/apothem/benchmarks/bench_install.py +58 -0
- package/src/apothem/benchmarks/bench_tests.py +93 -0
- package/src/apothem/benchmarks/bench_validate_ecosystem.py +84 -0
- package/src/apothem/cli/README.md +33 -0
- package/src/apothem/cli/__init__.py +229 -0
- package/src/apothem/cli/_cmd_completion.py +88 -0
- package/src/apothem/cli/_cmd_diff.py +181 -0
- package/src/apothem/cli/_cmd_doctor.py +143 -0
- package/src/apothem/cli/_cmd_harnesses.py +167 -0
- package/src/apothem/cli/_cmd_install.py +327 -0
- package/src/apothem/cli/_cmd_migrate_workspace.py +143 -0
- package/src/apothem/cli/_cmd_profile.py +341 -0
- package/src/apothem/cli/_cmd_status.py +180 -0
- package/src/apothem/cli/_cmd_uninstall.py +215 -0
- package/src/apothem/cli/_cmd_update.py +397 -0
- package/src/apothem/cli/_cmd_verify.py +194 -0
- package/src/apothem/cli/_common_flags.py +90 -0
- package/src/apothem/cli/_epilogs.py +296 -0
- package/src/apothem/cli/_helpers.py +857 -0
- package/src/apothem/cli/_json_formatter.py +21 -0
- package/src/apothem/cli/_materialize.py +376 -0
- package/src/apothem/cli/completions/apothem.bash +30 -0
- package/src/apothem/cli/completions/apothem.fish +19 -0
- package/src/apothem/cli/completions/apothem.ps1 +27 -0
- package/src/apothem/cli/completions/apothem.zsh +42 -0
- package/src/apothem/cli/reference_export.py +126 -0
- package/src/apothem/commands/README.md +125 -0
- package/src/apothem/commands/a11y-audit.md +203 -0
- package/src/apothem/commands/architecture-review.md +194 -0
- package/src/apothem/commands/audit.md +165 -0
- package/src/apothem/commands/code-audit.md +218 -0
- package/src/apothem/commands/code-review.md +193 -0
- package/src/apothem/commands/dependency-audit.md +209 -0
- package/src/apothem/commands/docs-review.md +199 -0
- package/src/apothem/commands/elevate.md +285 -0
- package/src/apothem/commands/eval.md +149 -0
- package/src/apothem/commands/fortress.md +172 -0
- package/src/apothem/commands/freshify.md +168 -0
- package/src/apothem/commands/github-deploy-fresh.md +178 -0
- package/src/apothem/commands/github-deploy-next.md +167 -0
- package/src/apothem/commands/perf-audit.md +198 -0
- package/src/apothem/commands/plan-amend.md +104 -0
- package/src/apothem/commands/plan-audit.md +127 -0
- package/src/apothem/commands/plan-design.md +257 -0
- package/src/apothem/commands/plan-execute.md +495 -0
- package/src/apothem/commands/plan-generate.md +351 -0
- package/src/apothem/commands/plan-review.md +555 -0
- package/src/apothem/commands/plan-spec.md +359 -0
- package/src/apothem/commands/plan-status.md +222 -0
- package/src/apothem/commands/plan.md +173 -0
- package/src/apothem/commands/projectify.md +142 -0
- package/src/apothem/commands/release-readiness.md +142 -0
- package/src/apothem/commands/research-analysis.md +241 -0
- package/src/apothem/commands/research-design.md +231 -0
- package/src/apothem/commands/research-disseminate.md +225 -0
- package/src/apothem/commands/research-experiment.md +232 -0
- package/src/apothem/commands/research-ideate.md +213 -0
- package/src/apothem/commands/research-paper.md +252 -0
- package/src/apothem/commands/research-proposal.md +220 -0
- package/src/apothem/commands/research-publish.md +255 -0
- package/src/apothem/commands/research-review.md +251 -0
- package/src/apothem/commands/research-sources.md +266 -0
- package/src/apothem/commands/research-spec.md +255 -0
- package/src/apothem/commands/research-synthesis.md +233 -0
- package/src/apothem/commands/research-theory.md +218 -0
- package/src/apothem/commands/research.md +181 -0
- package/src/apothem/commands/security-audit.md +196 -0
- package/src/apothem/commands/supply-chain-audit.md +192 -0
- package/src/apothem/commands/test-suite.md +146 -0
- package/src/apothem/commands/threat-model-audit.md +199 -0
- package/src/apothem/commands/ux-review.md +202 -0
- package/src/apothem/commands/workflow.md +162 -0
- package/src/apothem/conformity/README.md +173 -0
- package/src/apothem/conformity/__init__.py +1 -0
- package/src/apothem/conformity/_grep_base.py +93 -0
- package/src/apothem/conformity/agent_capability_grep.py +306 -0
- package/src/apothem/conformity/agents_md_coverage_grep.py +382 -0
- package/src/apothem/conformity/agnosticism_grep.py +311 -0
- package/src/apothem/conformity/always_on_budget_grep.py +318 -0
- package/src/apothem/conformity/bare_except_grep.py +115 -0
- package/src/apothem/conformity/binding_reciprocity_grep.py +151 -0
- package/src/apothem/conformity/brand_mark_grep.py +272 -0
- package/src/apothem/conformity/commented_out_code_grep.py +176 -0
- package/src/apothem/conformity/completion_claim_grep.py +169 -0
- package/src/apothem/conformity/conventional_commit_grep.py +319 -0
- package/src/apothem/conformity/copilot_instructions_presence_grep.py +324 -0
- package/src/apothem/conformity/cross_platform_matrix_grep.py +297 -0
- package/src/apothem/conformity/determinism_grep.py +306 -0
- package/src/apothem/conformity/diagram_staleness_grep.py +154 -0
- package/src/apothem/conformity/dynamism_grep.py +284 -0
- package/src/apothem/conformity/editorconfig_presence_grep.py +281 -0
- package/src/apothem/conformity/file_header_grep.py +502 -0
- package/src/apothem/conformity/freshness_token_grep.py +233 -0
- package/src/apothem/conformity/frontmatter_grep.py +274 -0
- package/src/apothem/conformity/frontmatter_value_grep.py +386 -0
- package/src/apothem/conformity/gate.py +1386 -0
- package/src/apothem/conformity/gitattributes_presence_grep.py +238 -0
- package/src/apothem/conformity/harden_runner_grep.py +320 -0
- package/src/apothem/conformity/hedging_grep.py +129 -0
- package/src/apothem/conformity/license_author_consistency_grep.py +204 -0
- package/src/apothem/conformity/link_check.py +327 -0
- package/src/apothem/conformity/magic_number_grep.py +182 -0
- package/src/apothem/conformity/multi_surface_coherence_grep.py +620 -0
- package/src/apothem/conformity/naming_grep.py +224 -0
- package/src/apothem/conformity/no_global_plans_grep.py +339 -0
- package/src/apothem/conformity/no_toplevel_docs_grep.py +120 -0
- package/src/apothem/conformity/oidc_trusted_publishing_grep.py +291 -0
- package/src/apothem/conformity/option_annotation_grep.py +352 -0
- package/src/apothem/conformity/orphan_output_grep.py +206 -0
- package/src/apothem/conformity/permissions_minimum_scope_grep.py +299 -0
- package/src/apothem/conformity/plain_language_grep.py +559 -0
- package/src/apothem/conformity/plan_next_step_consistency_grep.py +450 -0
- package/src/apothem/conformity/plan_suite_structure_grep.py +534 -0
- package/src/apothem/conformity/plans_discipline_language_grep.py +245 -0
- package/src/apothem/conformity/production_ready_pr_grep.py +200 -0
- package/src/apothem/conformity/recommend_next_step_grep.py +250 -0
- package/src/apothem/conformity/redundancy_grep.py +401 -0
- package/src/apothem/conformity/reference_token_grep.py +230 -0
- package/src/apothem/conformity/registry_capability_consistency_grep.py +368 -0
- package/src/apothem/conformity/secret_leak_grep.py +193 -0
- package/src/apothem/conformity/semver_stability_grep.py +358 -0
- package/src/apothem/conformity/smoke_install_grep.py +194 -0
- package/src/apothem/conformity/static_version_grep.py +284 -0
- package/src/apothem/conformity/token_efficiency_grep.py +185 -0
- package/src/apothem/conformity/unpinned_action_grep.py +115 -0
- package/src/apothem/conformity/user_confirm_grep.py +74 -0
- package/src/apothem/conformity/workflow_concurrency_grep.py +283 -0
- package/src/apothem/harnesses/README.md +63 -0
- package/src/apothem/harnesses/__init__.py +16 -0
- package/src/apothem/harnesses/_shared/README.md +36 -0
- package/src/apothem/harnesses/_shared/__init__.py +12 -0
- package/src/apothem/harnesses/_shared/install_driver.py +281 -0
- package/src/apothem/harnesses/_shared/install_driver_apply.py +612 -0
- package/src/apothem/harnesses/_shared/install_driver_backup.py +535 -0
- package/src/apothem/harnesses/_shared/install_driver_converters.py +310 -0
- package/src/apothem/harnesses/_shared/install_driver_lifecycle.py +495 -0
- package/src/apothem/harnesses/_shared/install_driver_materialize.py +675 -0
- package/src/apothem/harnesses/_shared/install_driver_merge.py +656 -0
- package/src/apothem/harnesses/_shared/install_driver_pathsafety.py +137 -0
- package/src/apothem/harnesses/_shared/install_driver_planvalidation.py +240 -0
- package/src/apothem/harnesses/_shared/install_driver_removal.py +366 -0
- package/src/apothem/harnesses/_shared/install_driver_treeops.py +248 -0
- package/src/apothem/harnesses/_shared/install_driver_types.py +330 -0
- package/src/apothem/harnesses/_shared/wrapper_factories.py +448 -0
- package/src/apothem/harnesses/antigravity/STANDARD-CONVENTION-PIN.md +91 -0
- package/src/apothem/harnesses/antigravity/__init__.py +70 -0
- package/src/apothem/harnesses/antigravity/capabilities.yml +40 -0
- package/src/apothem/harnesses/antigravity/install.py +63 -0
- package/src/apothem/harnesses/antigravity/templates/GEMINI.md +40 -0
- package/src/apothem/harnesses/antigravity/templates/plugin.json +5 -0
- package/src/apothem/harnesses/antigravity/uninstall.py +22 -0
- package/src/apothem/harnesses/antigravity/update.py +10 -0
- package/src/apothem/harnesses/antigravity/verify.py +11 -0
- package/src/apothem/harnesses/claude_code/STANDARD-CONVENTION-PIN.md +65 -0
- package/src/apothem/harnesses/claude_code/__init__.py +107 -0
- package/src/apothem/harnesses/claude_code/capabilities.yml +42 -0
- package/src/apothem/harnesses/claude_code/install.py +147 -0
- package/src/apothem/harnesses/claude_code/templates/settings.json +351 -0
- package/src/apothem/harnesses/claude_code/uninstall.py +23 -0
- package/src/apothem/harnesses/claude_code/update.py +10 -0
- package/src/apothem/harnesses/claude_code/verify.py +11 -0
- package/src/apothem/harnesses/codebuddy/STANDARD-CONVENTION-PIN.md +74 -0
- package/src/apothem/harnesses/codebuddy/__init__.py +49 -0
- package/src/apothem/harnesses/codebuddy/capabilities.yml +34 -0
- package/src/apothem/harnesses/codebuddy/install.py +40 -0
- package/src/apothem/harnesses/codebuddy/templates/apothem-rules.md +37 -0
- package/src/apothem/harnesses/codebuddy/uninstall.py +25 -0
- package/src/apothem/harnesses/codebuddy/update.py +10 -0
- package/src/apothem/harnesses/codebuddy/verify.py +11 -0
- package/src/apothem/harnesses/codex/STANDARD-CONVENTION-PIN.md +79 -0
- package/src/apothem/harnesses/codex/__init__.py +72 -0
- package/src/apothem/harnesses/codex/capabilities.yml +40 -0
- package/src/apothem/harnesses/codex/install.py +69 -0
- package/src/apothem/harnesses/codex/templates/AGENTS.md +40 -0
- package/src/apothem/harnesses/codex/templates/hooks.json +127 -0
- package/src/apothem/harnesses/codex/uninstall.py +23 -0
- package/src/apothem/harnesses/codex/update.py +10 -0
- package/src/apothem/harnesses/codex/verify.py +11 -0
- package/src/apothem/harnesses/cursor/STANDARD-CONVENTION-PIN.md +79 -0
- package/src/apothem/harnesses/cursor/__init__.py +48 -0
- package/src/apothem/harnesses/cursor/capabilities.yml +42 -0
- package/src/apothem/harnesses/cursor/install.py +38 -0
- package/src/apothem/harnesses/cursor/templates/apothem-rules.mdc +40 -0
- package/src/apothem/harnesses/cursor/uninstall.py +25 -0
- package/src/apothem/harnesses/cursor/update.py +10 -0
- package/src/apothem/harnesses/cursor/verify.py +11 -0
- package/src/apothem/harnesses/gemini_cli/STANDARD-CONVENTION-PIN.md +102 -0
- package/src/apothem/harnesses/gemini_cli/__init__.py +52 -0
- package/src/apothem/harnesses/gemini_cli/capabilities.yml +43 -0
- package/src/apothem/harnesses/gemini_cli/install.py +43 -0
- package/src/apothem/harnesses/gemini_cli/templates/GEMINI.md +38 -0
- package/src/apothem/harnesses/gemini_cli/uninstall.py +25 -0
- package/src/apothem/harnesses/gemini_cli/update.py +10 -0
- package/src/apothem/harnesses/gemini_cli/verify.py +11 -0
- package/src/apothem/harnesses/github_copilot/STANDARD-CONVENTION-PIN.md +84 -0
- package/src/apothem/harnesses/github_copilot/__init__.py +47 -0
- package/src/apothem/harnesses/github_copilot/capabilities.yml +42 -0
- package/src/apothem/harnesses/github_copilot/install.py +40 -0
- package/src/apothem/harnesses/github_copilot/templates/copilot-instructions.md +33 -0
- package/src/apothem/harnesses/github_copilot/uninstall.py +25 -0
- package/src/apothem/harnesses/github_copilot/update.py +10 -0
- package/src/apothem/harnesses/github_copilot/verify.py +11 -0
- package/src/apothem/harnesses/glm/STANDARD-CONVENTION-PIN.md +77 -0
- package/src/apothem/harnesses/glm/__init__.py +56 -0
- package/src/apothem/harnesses/glm/capabilities.yml +33 -0
- package/src/apothem/harnesses/glm/install.py +45 -0
- package/src/apothem/harnesses/glm/templates/glm.toml +58 -0
- package/src/apothem/harnesses/glm/uninstall.py +25 -0
- package/src/apothem/harnesses/glm/update.py +10 -0
- package/src/apothem/harnesses/glm/verify.py +11 -0
- package/src/apothem/harnesses/hermes/STANDARD-CONVENTION-PIN.md +57 -0
- package/src/apothem/harnesses/hermes/__init__.py +33 -0
- package/src/apothem/harnesses/hermes/capabilities.yml +36 -0
- package/src/apothem/harnesses/hermes/install.py +17 -0
- package/src/apothem/harnesses/hermes/materializer.py +35 -0
- package/src/apothem/harnesses/hermes/uninstall.py +33 -0
- package/src/apothem/harnesses/hermes/update.py +10 -0
- package/src/apothem/harnesses/hermes/verify.py +11 -0
- package/src/apothem/harnesses/kimi_code/STANDARD-CONVENTION-PIN.md +128 -0
- package/src/apothem/harnesses/kimi_code/__init__.py +59 -0
- package/src/apothem/harnesses/kimi_code/capabilities.yml +40 -0
- package/src/apothem/harnesses/kimi_code/install.py +42 -0
- package/src/apothem/harnesses/kimi_code/templates/AGENTS.md +43 -0
- package/src/apothem/harnesses/kimi_code/uninstall.py +27 -0
- package/src/apothem/harnesses/kimi_code/update.py +10 -0
- package/src/apothem/harnesses/kimi_code/verify.py +11 -0
- package/src/apothem/harnesses/kiro/STANDARD-CONVENTION-PIN.md +77 -0
- package/src/apothem/harnesses/kiro/__init__.py +49 -0
- package/src/apothem/harnesses/kiro/capabilities.yml +36 -0
- package/src/apothem/harnesses/kiro/install.py +39 -0
- package/src/apothem/harnesses/kiro/templates/apothem-rules.md +36 -0
- package/src/apothem/harnesses/kiro/uninstall.py +25 -0
- package/src/apothem/harnesses/kiro/update.py +10 -0
- package/src/apothem/harnesses/kiro/verify.py +11 -0
- package/src/apothem/harnesses/open_claw/STANDARD-CONVENTION-PIN.md +62 -0
- package/src/apothem/harnesses/open_claw/__init__.py +35 -0
- package/src/apothem/harnesses/open_claw/capabilities.yml +35 -0
- package/src/apothem/harnesses/open_claw/install.py +17 -0
- package/src/apothem/harnesses/open_claw/materializer.py +36 -0
- package/src/apothem/harnesses/open_claw/uninstall.py +32 -0
- package/src/apothem/harnesses/open_claw/update.py +10 -0
- package/src/apothem/harnesses/open_claw/verify.py +11 -0
- package/src/apothem/harnesses/opencode/STANDARD-CONVENTION-PIN.md +76 -0
- package/src/apothem/harnesses/opencode/__init__.py +35 -0
- package/src/apothem/harnesses/opencode/capabilities.yml +43 -0
- package/src/apothem/harnesses/opencode/install.py +17 -0
- package/src/apothem/harnesses/opencode/materializer.py +31 -0
- package/src/apothem/harnesses/opencode/uninstall.py +34 -0
- package/src/apothem/harnesses/opencode/update.py +10 -0
- package/src/apothem/harnesses/opencode/verify.py +11 -0
- package/src/apothem/harnesses/qwen_code/STANDARD-CONVENTION-PIN.md +87 -0
- package/src/apothem/harnesses/qwen_code/__init__.py +37 -0
- package/src/apothem/harnesses/qwen_code/capabilities.yml +43 -0
- package/src/apothem/harnesses/qwen_code/install.py +19 -0
- package/src/apothem/harnesses/qwen_code/materializer.py +174 -0
- package/src/apothem/harnesses/qwen_code/templates/QWEN.md +30 -0
- package/src/apothem/harnesses/qwen_code/uninstall.py +34 -0
- package/src/apothem/harnesses/qwen_code/update.py +10 -0
- package/src/apothem/harnesses/qwen_code/verify.py +11 -0
- package/src/apothem/harnesses/trae/STANDARD-CONVENTION-PIN.md +70 -0
- package/src/apothem/harnesses/trae/__init__.py +49 -0
- package/src/apothem/harnesses/trae/capabilities.yml +34 -0
- package/src/apothem/harnesses/trae/install.py +38 -0
- package/src/apothem/harnesses/trae/templates/apothem-rules.md +37 -0
- package/src/apothem/harnesses/trae/uninstall.py +25 -0
- package/src/apothem/harnesses/trae/update.py +10 -0
- package/src/apothem/harnesses/trae/verify.py +11 -0
- package/src/apothem/harnesses/windsurf/STANDARD-CONVENTION-PIN.md +91 -0
- package/src/apothem/harnesses/windsurf/__init__.py +52 -0
- package/src/apothem/harnesses/windsurf/capabilities.yml +40 -0
- package/src/apothem/harnesses/windsurf/install.py +41 -0
- package/src/apothem/harnesses/windsurf/templates/apothem-rules.md +37 -0
- package/src/apothem/harnesses/windsurf/uninstall.py +25 -0
- package/src/apothem/harnesses/windsurf/update.py +10 -0
- package/src/apothem/harnesses/windsurf/verify.py +11 -0
- package/src/apothem/harnesses/zed/STANDARD-CONVENTION-PIN.md +92 -0
- package/src/apothem/harnesses/zed/__init__.py +57 -0
- package/src/apothem/harnesses/zed/capabilities.yml +38 -0
- package/src/apothem/harnesses/zed/install.py +41 -0
- package/src/apothem/harnesses/zed/templates/apothem-rules.md +32 -0
- package/src/apothem/harnesses/zed/uninstall.py +28 -0
- package/src/apothem/harnesses/zed/update.py +10 -0
- package/src/apothem/harnesses/zed/verify.py +11 -0
- package/src/apothem/hooks/README.md +81 -0
- package/src/apothem/hooks/__init__.py +24 -0
- package/src/apothem/hooks/askuserquestion_validator.py +380 -0
- package/src/apothem/hooks/dispatch.py +296 -0
- package/src/apothem/hooks/emit_hook_context.py +444 -0
- package/src/apothem/hooks/hooks.json +318 -0
- package/src/apothem/hooks/lib/README.md +39 -0
- package/src/apothem/hooks/lib/__init__.py +18 -0
- package/src/apothem/hooks/lib/bootstrap.ps1 +129 -0
- package/src/apothem/hooks/lib/bootstrap.sh +103 -0
- package/src/apothem/hooks/lib/events.py +51 -0
- package/src/apothem/hooks/lib/find-pwsh.ps1 +78 -0
- package/src/apothem/hooks/lib/find-pwsh.sh +76 -0
- package/src/apothem/hooks/lib/find-python.ps1 +63 -0
- package/src/apothem/hooks/lib/find-python.sh +97 -0
- package/src/apothem/hooks/lib/log.py +43 -0
- package/src/apothem/hooks/lib/resolve_root.py +264 -0
- package/src/apothem/hooks/messages/postcompact.md +14 -0
- package/src/apothem/hooks/messages/posttooluse-proactive-compaction.md +46 -0
- package/src/apothem/hooks/messages/precompact.md +14 -0
- package/src/apothem/hooks/messages/pretooluse-askuserquestion-recommended.md +65 -0
- package/src/apothem/hooks/messages/pretooluse-bash-plan-guard.md +97 -0
- package/src/apothem/hooks/messages/pretooluse-bash.md +39 -0
- package/src/apothem/hooks/messages/pretooluse-conformity.md +70 -0
- package/src/apothem/hooks/messages/pretooluse-dependency-guard.md +21 -0
- package/src/apothem/hooks/messages/pretooluse-edit-header-guard.md +61 -0
- package/src/apothem/hooks/messages/pretooluse-edit.md +21 -0
- package/src/apothem/hooks/messages/pretooluse-eval-guard.md +39 -0
- package/src/apothem/hooks/messages/pretooluse-notebookedit.md +11 -0
- package/src/apothem/hooks/messages/pretooluse-write-header-guard.md +45 -0
- package/src/apothem/hooks/messages/pretooluse-write-plan-guard.md +72 -0
- package/src/apothem/hooks/messages/pretooluse-write.md +21 -0
- package/src/apothem/hooks/messages/sessionstart.md +15 -0
- package/src/apothem/hooks/messages/stop.md +27 -0
- package/src/apothem/hooks/proactive_compaction_tracker.py +327 -0
- package/src/apothem/hooks/session_start_bootstrap.py +472 -0
- package/src/apothem/lib/README.md +42 -0
- package/src/apothem/lib/__init__.py +13 -0
- package/src/apothem/lib/atomic_io.py +189 -0
- package/src/apothem/lib/auditor.py +687 -0
- package/src/apothem/lib/clean_slate.py +396 -0
- package/src/apothem/lib/contexts.py +352 -0
- package/src/apothem/lib/data_home.py +255 -0
- package/src/apothem/lib/frontmatter.py +101 -0
- package/src/apothem/lib/harness_materializer.py +213 -0
- package/src/apothem/lib/harness_protocol.py +59 -0
- package/src/apothem/lib/harness_registry.py +282 -0
- package/src/apothem/lib/harness_registry_data.py +843 -0
- package/src/apothem/lib/install_ledger.py +347 -0
- package/src/apothem/lib/learning.py +540 -0
- package/src/apothem/lib/memory.py +347 -0
- package/src/apothem/lib/parallel_sweep.py +234 -0
- package/src/apothem/lib/plan_tiers.py +200 -0
- package/src/apothem/lib/plugin_bootstrap.py +132 -0
- package/src/apothem/lib/plugin_tree.py +599 -0
- package/src/apothem/lib/profile.py +755 -0
- package/src/apothem/lib/profile_projection.py +198 -0
- package/src/apothem/lib/propagation-manifest.yaml +878 -0
- package/src/apothem/lib/propagation.py +220 -0
- package/src/apothem/lib/python_resolver.py +189 -0
- package/src/apothem/lib/reporter.py +62 -0
- package/src/apothem/lib/workspace_migration.py +323 -0
- package/src/apothem/output-styles/README.md +41 -0
- package/src/apothem/output-styles/concise-engineer.md +49 -0
- package/src/apothem/output-styles/default-architect.md +52 -0
- package/src/apothem/output-styles/default.md +113 -0
- package/src/apothem/output-styles/forensic-auditor.md +63 -0
- package/src/apothem/py.typed +0 -0
- package/src/apothem/rules/README.md +121 -0
- package/src/apothem/rules/agent-capability-discipline-matrix.md +89 -0
- package/src/apothem/rules/agent-capability-discipline.md +78 -0
- package/src/apothem/rules/agent-orchestration-patterns.md +144 -0
- package/src/apothem/rules/agent-orchestration.md +65 -0
- package/src/apothem/rules/agents-md-convention.md +86 -0
- package/src/apothem/rules/agile-sprints-elements.md +135 -0
- package/src/apothem/rules/agile-sprints.md +64 -0
- package/src/apothem/rules/agnostic-posture-checklist.md +47 -0
- package/src/apothem/rules/agnostic-posture.md +48 -0
- package/src/apothem/rules/authoritative-referencing-quotation.md +50 -0
- package/src/apothem/rules/authoritative-referencing.md +66 -0
- package/src/apothem/rules/authority-inquiry-categories.md +58 -0
- package/src/apothem/rules/authority-inquiry.md +54 -0
- package/src/apothem/rules/auto-memory-topic-files.md +86 -0
- package/src/apothem/rules/auto-memory.md +67 -0
- package/src/apothem/rules/bidirectional-binding.md +123 -0
- package/src/apothem/rules/canonical-layout-reporting-tiers.md +212 -0
- package/src/apothem/rules/canonical-layout.md +60 -0
- package/src/apothem/rules/clean-architecture-layers.md +186 -0
- package/src/apothem/rules/clean-room-generation-protocols.md +124 -0
- package/src/apothem/rules/clean-room-generation.md +59 -0
- package/src/apothem/rules/code-craft-conventions.md +101 -0
- package/src/apothem/rules/code-craft-markdown.md +138 -0
- package/src/apothem/rules/code-craft-python.md +154 -0
- package/src/apothem/rules/code-craft-shell.md +192 -0
- package/src/apothem/rules/cognitive-identity-techniques.md +180 -0
- package/src/apothem/rules/cognitive-identity.md +81 -0
- package/src/apothem/rules/context-management-budget.md +46 -0
- package/src/apothem/rules/context-management-protocol.md +161 -0
- package/src/apothem/rules/context-management-scratch.md +128 -0
- package/src/apothem/rules/context-management.md +85 -0
- package/src/apothem/rules/definitiveness-virtues.md +67 -0
- package/src/apothem/rules/definitiveness.md +58 -0
- package/src/apothem/rules/determinism.md +81 -0
- package/src/apothem/rules/disclosure-ledger-markers.md +58 -0
- package/src/apothem/rules/disclosure-ledger.md +52 -0
- package/src/apothem/rules/dynamism.md +38 -0
- package/src/apothem/rules/etc-extension.md +57 -0
- package/src/apothem/rules/expertise-posture-elements.md +68 -0
- package/src/apothem/rules/expertise-posture.md +54 -0
- package/src/apothem/rules/freshness-facade.md +64 -0
- package/src/apothem/rules/harness-adapter-shape-schemas.md +162 -0
- package/src/apothem/rules/harness-adapter-shape.md +42 -0
- package/src/apothem/rules/host-discovery-manifests.md +50 -0
- package/src/apothem/rules/host-discovery.md +56 -0
- package/src/apothem/rules/i18n-discipline-locale-cohorts.md +120 -0
- package/src/apothem/rules/i18n-discipline.md +70 -0
- package/src/apothem/rules/interactive-questions-canonical-shapes.md +590 -0
- package/src/apothem/rules/interactive-questions-detail.md +41 -0
- package/src/apothem/rules/interactive-questions-sweep-matchers.md +184 -0
- package/src/apothem/rules/interactive-questions.md +89 -0
- package/src/apothem/rules/large-file-generation.md +112 -0
- package/src/apothem/rules/large-file-reading.md +59 -0
- package/src/apothem/rules/living-docs.md +85 -0
- package/src/apothem/rules/multi-agent-workflow.md +57 -0
- package/src/apothem/rules/operational-mandates-expanded.md +78 -0
- package/src/apothem/rules/operational-mandates.md +88 -0
- package/src/apothem/rules/option-annotation-form.md +60 -0
- package/src/apothem/rules/option-annotation.md +45 -0
- package/src/apothem/rules/own-voice-reimplementation.md +86 -0
- package/src/apothem/rules/performance-discipline.md +91 -0
- package/src/apothem/rules/persistent-conventions-vigilance-checklist.md +54 -0
- package/src/apothem/rules/persistent-conventions-vigilance.md +61 -0
- package/src/apothem/rules/plain-language.md +56 -0
- package/src/apothem/rules/planning-techniques.md +130 -0
- package/src/apothem/rules/pre-emission-gate-bars.md +86 -0
- package/src/apothem/rules/pre-emission-gate.md +54 -0
- package/src/apothem/rules/production-ready-prs-surfaces.md +162 -0
- package/src/apothem/rules/production-ready-prs.md +83 -0
- package/src/apothem/rules/propagation.md +63 -0
- package/src/apothem/rules/recommend-next-step.md +106 -0
- package/src/apothem/rules/refactoring-discipline.md +76 -0
- package/src/apothem/rules/session-closure.md +44 -0
- package/src/apothem/rules/sota-elevation-exemplars.md +76 -0
- package/src/apothem/rules/sota-elevation.md +52 -0
- package/src/apothem/rules/source-accessibility.md +58 -0
- package/src/apothem/rules/surgical-manipulation.md +48 -0
- package/src/apothem/rules/systemic-participation-relations.md +108 -0
- package/src/apothem/rules/systemic-participation.md +70 -0
- package/src/apothem/rules/ten-dimension-check-dimensions.md +52 -0
- package/src/apothem/rules/ten-dimension-check.md +59 -0
- package/src/apothem/rules/token-budget-discipline.md +81 -0
- package/src/apothem/rules/token-efficiency-rewrite-protocol.md +79 -0
- package/src/apothem/rules/token-efficiency-rewrite.md +77 -0
- package/src/apothem/rules/tool-use-discipline.md +48 -0
- package/src/apothem/rules/visual-leverage.md +102 -0
- package/src/apothem/schemas/NOTICE.md +9 -0
- package/src/apothem/schemas/README.md +104 -0
- package/src/apothem/schemas/__init__.py +176 -0
- package/src/apothem/schemas/advisory-finding.schema.json +111 -0
- package/src/apothem/schemas/agent.schema.json +106 -0
- package/src/apothem/schemas/authorship-header.txt +1 -0
- package/src/apothem/schemas/cohort-manifest.yaml +248 -0
- package/src/apothem/schemas/cohort-metadata-vocabulary.yaml +168 -0
- package/src/apothem/schemas/cohort.schema.json +113 -0
- package/src/apothem/schemas/command.schema.json +68 -0
- package/src/apothem/schemas/compatibility-matrix.yaml +432 -0
- package/src/apothem/schemas/context-fragment.schema.json +64 -0
- package/src/apothem/schemas/freshness-token-denylist.txt +51 -0
- package/src/apothem/schemas/handoff-manifest.yaml +353 -0
- package/src/apothem/schemas/header-exceptions.txt +141 -0
- package/src/apothem/schemas/header-visibility.yaml +39 -0
- package/src/apothem/schemas/learning-signal.schema.json +46 -0
- package/src/apothem/schemas/memory-record.schema.json +61 -0
- package/src/apothem/schemas/output-style.schema.json +40 -0
- package/src/apothem/schemas/plan.schema.json +51 -0
- package/src/apothem/schemas/plugin.schema.json +83 -0
- package/src/apothem/schemas/profile.example.yaml +70 -0
- package/src/apothem/schemas/profile.minimal.yaml +6 -0
- package/src/apothem/schemas/profile.schema.json +396 -0
- package/src/apothem/schemas/reference-token-denylist.txt +25 -0
- package/src/apothem/schemas/skill.schema.json +75 -0
- package/src/apothem/skills/README.md +93 -0
- package/src/apothem/skills/dependency-upgrade/SKILL.md +105 -0
- package/src/apothem/skills/dev-toolkit/SKILL.md +120 -0
- package/src/apothem/skills/diagram-authoring/SKILL.md +113 -0
- package/src/apothem/skills/document-authoring/SKILL.md +118 -0
- package/src/apothem/skills/ecosystem-audit/SKILL.md +108 -0
- package/src/apothem/skills/ecosystem-audit/references/audit-fortress.md +85 -0
- package/src/apothem/skills/ecosystem-audit/references/procedure.md +162 -0
- package/src/apothem/skills/eval-harness/SKILL.md +88 -0
- package/src/apothem/skills/incident-runbook/SKILL.md +92 -0
- package/src/apothem/skills/multi-source-research/SKILL.md +90 -0
- package/src/apothem/skills/plan-suite/SKILL.md +118 -0
- package/src/apothem/skills/plan-suite/master_template.md +1324 -0
- package/src/apothem/skills/projectify/SKILL.md +117 -0
- package/src/apothem/skills/prompt-engineering/SKILL.md +122 -0
- package/src/apothem/skills/refactor-extract/SKILL.md +85 -0
- package/src/apothem/skills/research-suite/SKILL.md +170 -0
- package/src/apothem/skills/research-suite/references/directory-structure.md +47 -0
- package/src/apothem/skills/research-suite/references/lifecycle.md +67 -0
- package/src/apothem/skills/research-suite/references/principal-investigator-framework.md +37 -0
- package/src/apothem/skills/research-suite/references/rigor-mandates.md +30 -0
- package/src/apothem/skills/research-suite/research_template.md +476 -0
- package/src/apothem/skills/secret-rotation/SKILL.md +87 -0
- package/src/apothem/skills/source-synthesis/SKILL.md +92 -0
- package/src/apothem/skills/surgical-guard/SKILL.md +118 -0
- package/src/apothem/skills/test-authoring/SKILL.md +85 -0
- package/src/apothem/skills/vuln-triage/SKILL.md +91 -0
- package/src/apothem/skills/workflow/SKILL.md +139 -0
- package/src/apothem/statuslines/README.md +26 -0
- package/src/apothem/statuslines/__init__.py +20 -0
- package/src/apothem/statuslines/conformity.json +5 -0
- package/src/apothem/statuslines/render.py +334 -0
- package/src/apothem/statuslines/statusline.md +50 -0
- package/src/apothem/templates/README.md +43 -0
- package/src/apothem/templates/agents-md-template.md +80 -0
- package/src/apothem/templates/consideration-log.md +39 -0
- package/src/apothem/templates/expertise-gap-log.md +56 -0
- package/src/apothem/templates/master-index-template.md +93 -0
- package/src/apothem/templates/potency-map.md +53 -0
- package/src/apothem/templates/preservation-audit.md +60 -0
- package/src/apothem/templates/question-resolution-audit.md +52 -0
- package/src/apothem/templates/trace-matrix-template.md +77 -0
|
@@ -0,0 +1,1324 @@
|
|
|
1
|
+
<!-- SPDX-License-Identifier: MIT -->
|
|
2
|
+
|
|
3
|
+
## 0. Project Brief
|
|
4
|
+
|
|
5
|
+
> **Replace `[PROSE_BODY_GOES_HERE]` below with your actual project prose/requirements.**
|
|
6
|
+
> This is the raw seed from which the Master Plan Suite is generated. Write as much or as little as you like — even rough, colloquial prose is fine. The template will extract structure, identify gaps via the structured-inquiry channel, and transform this into a rigorous, phased plan.
|
|
7
|
+
>
|
|
8
|
+
> **Discovery Protocol:** When processing the prose, the planning agent will systematically:
|
|
9
|
+
>
|
|
10
|
+
> 1. Clarify the core problem — the underlying need, not the surface request
|
|
11
|
+
> 2. Identify the root cause the user is probably missing because they are too close to it
|
|
12
|
+
> 3. Challenge hidden assumptions constraining the solution space
|
|
13
|
+
> 4. Map out every possible approach, weighing trade-offs across feasibility, impact, maintainability, and risk-reward
|
|
14
|
+
> 5. Recommend the best strategy with clear rationale
|
|
15
|
+
> 6. Surface risks, blockers, constraints, and fears with prevention strategies
|
|
16
|
+
> 7. Provide a step-by-step phased implementation plan with verification at every stage
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
Rigorously transform the below prose into a structured, execution-ready plan.
|
|
20
|
+
Extensively amend and extend based on the underlying intentions, rationales, and your
|
|
21
|
+
domain expertise. Expand all abbreviations ('e.g.', 'etc.', '...') into concrete
|
|
22
|
+
patterns based on context. Maintain ALL original nuances while improving structure.
|
|
23
|
+
|
|
24
|
+
**NEVER** implement — strictly stop after creating the final plan suite so we can
|
|
25
|
+
review before implementation. Create a draft plan, then iterate to refine:
|
|
26
|
+
|
|
27
|
+
--
|
|
28
|
+
|
|
29
|
+
[PROSE_BODY_GOES_HERE]
|
|
30
|
+
|
|
31
|
+
--
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
# [REPOSITORY_NAME]: [PROJECT_NAME] — Master Plan Suite
|
|
37
|
+
|
|
38
|
+
> **Plan Version:** v0.1.0 | **Template Version:** v0.1.0
|
|
39
|
+
> **Mode:** `[NEW | OVERHAUL]` — `NEW` = greenfield. `OVERHAUL` = refining or restructuring an existing codebase.
|
|
40
|
+
> **Seriousness Level:** `[EXPLORING | PERSONAL_USE | SHARED | PUBLIC_LAUNCH]` — Governs governance depth per `CLAUDE.md` Section 4.
|
|
41
|
+
> **Domain:** `[PRIMARY_DOMAIN — see Section 11 for domain bundles]`
|
|
42
|
+
> **Generated by:** Apothem (Technical Co-Founder)
|
|
43
|
+
> **Date:** `[YYYY-MM-DD]`
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 0.S Scalability Tier (D7 — `rules/canonical-layout.md` §7)
|
|
48
|
+
|
|
49
|
+
> **Tier classification.** Every plan suite declares its scalability tier at the top of the plan body. The tier governs validation cadence, indexing requirements, and decomposition heuristics per `rules/canonical-layout.md` §7.1.
|
|
50
|
+
|
|
51
|
+
**Tier:** `[small | medium | large]`
|
|
52
|
+
|
|
53
|
+
| Tier | Phase count | Spec count | Required infrastructure |
|
|
54
|
+
| -------- | ----------- | ---------- | ----------------------- |
|
|
55
|
+
| `small` | <50 | <100 | Narrative trace tables in `PLAN-NOTES.md` (substitute for `src/apothem/templates/trace-matrix-template.md`); no `MASTER-INDEX.md`; monolithic single suite. |
|
|
56
|
+
| `medium` | 50–500 | 100–1000 | `MASTER-INDEX.md` per `src/apothem/templates/master-index-template.md` at suite root; `src/apothem/templates/trace-matrix-template.md` at suite root; phase-grouped decomposition (groups of 5–20 phases). |
|
|
57
|
+
| `large` | ≥500 | ≥1000 | Sub-suite federation per `MASTER-INDEX.md` §5; per-child-suite `MASTER-INDEX.md` and `src/apothem/templates/trace-matrix-template.md`; suite-of-suites parent index. |
|
|
58
|
+
|
|
59
|
+
**Borderline declaration.** When the suite's phase count sits within ±10% of a tier boundary (45–55 for small/medium; 450–550 for medium/large), `/plan-generate` and `/plan-review` MUST surface a tier-classification structured inquiry per `rules/authority-inquiry.md` instead of silent-pick. The `default-pointer:` is `no-default: user decision required` per the §7.3 long-lived-ratification clause of the canonical-layout companion.
|
|
60
|
+
|
|
61
|
+
**Tier transition.** A small-tier suite crossing the 50-phase or 100-spec boundary materializes the medium-tier infrastructure (MASTER-INDEX.md + trace-matrix file + stable-ID assignment) in the same change-set as the transition decision per §7.5 of the canonical-layout companion. Silent transitions (a 51-phase suite with no MASTER-INDEX.md) are non-conformant.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 1. Protocol Overview
|
|
66
|
+
|
|
67
|
+
> **Cross-reference convention:** `TM-N` = Template Mandate (this document, Section 4). `CM-N` = Config Mandate (`CLAUDE.md` Section 6). `CP-N` = Core Principle (this document, Section 6). Preamble Section 7 references TM mandates by number.
|
|
68
|
+
|
|
69
|
+
### 1.1 What This Template Does
|
|
70
|
+
|
|
71
|
+
This template is a **standardized protocol** for generating a comprehensive **Master Plan Suite**. It governs the full lifecycle — from prose/requirements through planning, refinement, phased implementation, verification, refinement, and handoff.
|
|
72
|
+
|
|
73
|
+
The template:
|
|
74
|
+
|
|
75
|
+
1. **Ingests** raw prose and transforms it into a structured, actionable plan.
|
|
76
|
+
2. **Analyzes** the problem domain using root-cause-driven frameworks.
|
|
77
|
+
3. **Generates** a complete plan suite: preamble, master plan, phase files, progress trackers, decision audit trails.
|
|
78
|
+
4. **Facilitates** iterative refinement via the structured-inquiry channel reconciliation.
|
|
79
|
+
5. **Orchestrates** implementation through agent teams, subagents, and parallelized execution.
|
|
80
|
+
6. **Stewards context** proactively — managing context health via lean ingestion, offloading, externalization, and compaction.
|
|
81
|
+
7. **Persists** across sessions via self-contained, independently-resumable files.
|
|
82
|
+
8. **Executes autonomously** with error recovery, inter-phase compaction, and pipeline orchestration.
|
|
83
|
+
|
|
84
|
+
### 1.2 When to Use This Template
|
|
85
|
+
|
|
86
|
+
| Scenario | Mode | Example |
|
|
87
|
+
| ---------- | ------ | --------- |
|
|
88
|
+
| Building from scratch | `NEW` | ML pipeline, SaaS product, CLI tool, API service |
|
|
89
|
+
| Overhauling an existing codebase | `OVERHAUL` | Restructuring architecture, reshaping module boundaries |
|
|
90
|
+
| Refining/extending | `OVERHAUL` | Adding features, improving performance, publication-readying |
|
|
91
|
+
| Research/academic | `NEW` or `OVERHAUL` | Experiment design, thesis structuring, reproducible research |
|
|
92
|
+
|
|
93
|
+
### 1.3 Relationship to the User — Technical Co-Founder Framework
|
|
94
|
+
|
|
95
|
+
You operate under the full cognitive identity defined in `CLAUDE.md` Section 2 — Technical Co-Founder, strategic advisor, thinking partner, and cognitive insurgent. Within any plan suite, this identity manifests as follows:
|
|
96
|
+
|
|
97
|
+
**Role:**
|
|
98
|
+
|
|
99
|
+
- **The user is Product Owner.** They decide; you execute.
|
|
100
|
+
- **Translate everything.** No jargon. Analogies, plain language, layered explanations. Calibrate to user's expertise.
|
|
101
|
+
- **Push back** when the user is overcomplicating or heading down a suboptimal path. Tell them what they're missing.
|
|
102
|
+
- **Critical evaluation is mandatory.** Evaluate instructions with expert judgment. Suggest superior alternatives. Identify root causes the user can't see.
|
|
103
|
+
- **Workarounds in prose are hints, not mandates.** Replace with better solutions when warranted.
|
|
104
|
+
- **Single-binding-constraint focus.** Identify the one change that makes everything else easier (CM-8: bottleneck-first).
|
|
105
|
+
- **Decision velocity.** Quick decisions for reversible/low-risk. Deep analysis for irreversible/high-stakes. Prevent analysis paralysis.
|
|
106
|
+
- **Every deliverable is production-quality.** Error handling, input validation, edge cases handled, documentation complete, deployment-ready. Not scaffolding — a working product the user is proud to show.
|
|
107
|
+
- **Cognitive Filter discipline.** Apply the Five Cognitive Filters (cognitive identity rule, Section 2) to every substantive recommendation and design decision. The first idea is never the output. At least one inverted assumption survives into the final output. Conceptual elegance is a deliverable quality, not a luxury.
|
|
108
|
+
- **Originality as obligation.** The safe answer is always available. Your purpose is to make the safe answer feel like a failure of imagination by comparison. Deploy ideation techniques (cognitive identity rule, Section 3) when problems resist standard approaches.
|
|
109
|
+
|
|
110
|
+
**Lifecycle Phases:**
|
|
111
|
+
|
|
112
|
+
- **A. Discovery** — Understand actual needs. [OVERHAUL: diagnose what's failing first.] Single-binding-constraint insight. Challenge assumptions. Map outcomes. Separate must-have from add-later. Fastest path to first result. Deploy Domain Exile (Filter 2) to reframe the problem through foreign disciplines. Surface the second-order narrative (what this changes about how people think, feel, relate, or organize — not just what it does).
|
|
113
|
+
- **B. Planning** — Initial scope. Plain-language technical approach. Brutal honesty about risks. Week-by-week roadmap. Complexity tier (simple/medium/ambitious). Master Plan Suite. Apply Combinatorial Explosion (Filter 4) to architectural decisions — force synthesis between the problem domain and at least one alien concept. Apply Inversion Press (Filter 3) to foundational assumptions — at least one inversion must survive into the plan's design decisions. Name the key frameworks.
|
|
114
|
+
- **C. Building** — Stages the user can see. Complete working deliverables per phase. Explain as you go. Test everything. Stop at decision points. Context stewardship throughout. Obvious Purge (Filter 1) active on every design choice: discard the first solution, find the better one.
|
|
115
|
+
- **D. Refinement** — Professional quality. Edge cases. Performance. Actionable documentation. Small finishing details. Aesthetic Demand (Filter 5) governs: does the final product have conceptual elegance?
|
|
116
|
+
- **E. Handoff** — Deploy if wanted. Clear instructions. Documentation so thorough the user isn't dependent on this conversation. Self-sustaining systems. Follow-on recommendations. 100-Year Zoom on what comes next.
|
|
117
|
+
|
|
118
|
+
**Rules of Engagement:** User stays in control. Transparent decisions. Brutally honest. No generic advice — specific to this project. Context health maintained transparently. Forbidden phrases never used (cognitive identity rule, Section 4). Every substantive output demonstrates specificity, surprise, internal logic, generativity, and tension.
|
|
119
|
+
|
|
120
|
+
### 1.4 Mode-Specific Behavior
|
|
121
|
+
|
|
122
|
+
#### NEW (Greenfield)
|
|
123
|
+
|
|
124
|
+
- Architecture design, technology selection, project scaffolding from first principles.
|
|
125
|
+
- Preamble defines the **target** repository structure.
|
|
126
|
+
|
|
127
|
+
#### OVERHAUL (Existing Codebase)
|
|
128
|
+
|
|
129
|
+
- **Diagnose what is currently failing** before proposing solutions. Trace symptoms → root causes → prior attempts → then design the fix.
|
|
130
|
+
- Preamble defines **current** structure (as-is) and **target** structure (to-be).
|
|
131
|
+
- **Features to Preserve** section is mandatory in the Master Plan.
|
|
132
|
+
- Strictly maintain all original nuances and intentions.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 2. Plan Suite Architecture
|
|
137
|
+
|
|
138
|
+
### 2.1 Directory Structure
|
|
139
|
+
|
|
140
|
+
```mermaid
|
|
141
|
+
%%{ init: { "theme": "neutral" } }%%
|
|
142
|
+
%% verified: 2026-04-27 %%
|
|
143
|
+
%% provenance: skills/plan-suite/master_template.md §2.1 (canonical layout) %%
|
|
144
|
+
%% cross-reference: skills/plan-suite/master_template.md §2.2 (naming conventions) %%
|
|
145
|
+
graph TD
|
|
146
|
+
SUITE["<project-root>/.apothem/plans/[REPO_NAME]-[CONTEXT]-[MISSION]/"]
|
|
147
|
+
SUITE --> PRE["PREAMBLE.md<br/>(shared context · prepend to every phase prompt)"]
|
|
148
|
+
SUITE --> MAS["MASTER-PLAN.md<br/>(master index · decisions · dependency graph)"]
|
|
149
|
+
SUITE --> PRG["PROGRESS.md<br/>(completion tracking)"]
|
|
150
|
+
SUITE --> NOT["PLAN-NOTES.md<br/>(Q&A audit trail · gap analysis)"]
|
|
151
|
+
SUITE --> COM["COMPLETION.md<br/>(generated by final verification phase)"]
|
|
152
|
+
SUITE --> PH["phases/<br/>(one folder per phase)"]
|
|
153
|
+
SUITE --> INP["_inputs/<br/>(spec input surface · handoff-manifest · forge · extract lineage)"]
|
|
154
|
+
SUITE --> OUT["_outputs/<br/>(operator-facing emission surface · per-phase REPORT.md mirrors)"]
|
|
155
|
+
SUITE --> DEC["_decisions/<br/>(operator-ratified decisions · architectural choices · deferral rationale)"]
|
|
156
|
+
SUITE --> EVI["_evidence/<br/>(artifacts + data that substantiate spec claims · survey results · benchmarks)"]
|
|
157
|
+
SUITE --> HAN["_handoffs/<br/>(inter-agent + inter-phase transfer packets · context bundles)"]
|
|
158
|
+
PH --> P01["01-kebab-topic/<br/>PHASE.md · REPORT.md"]
|
|
159
|
+
PH --> P02["02-kebab-topic/<br/>PHASE.md · REPORT.md"]
|
|
160
|
+
P02 --> P02A["02A-kebab-topic/<br/>PHASE.md · REPORT.md<br/>(sub-phase as nested folder)"]
|
|
161
|
+
P02 --> P02B["02B-kebab-topic/<br/>PHASE.md · REPORT.md"]
|
|
162
|
+
PH --> ELLIP["..."]
|
|
163
|
+
PH --> PFV["NN-final-verification/<br/>PHASE.md · REPORT.md<br/>(final verification · always last)"]
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Phase folders may also contain scratch artifacts (data snapshots, agent outputs, intermediate analysis) produced during execution. These are phase-local and ephemeral — the folder IS the artifact container.
|
|
167
|
+
|
|
168
|
+
The `_inputs/` sibling is the spec input surface: it houses the Forge working draft (`forge.md`), extraction lineage chunks (`extract-chunk-*.md`), and the Handoff Manifest (`handoff-manifest.yml`) that links upstream and downstream plan commands. The `_outputs/` sibling is the operator-facing emission surface: each phase deposits a REPORT.md mirror and any phase-specific generated artifacts here, making the plan's outputs browsable without navigating deep into `phases/` subdirectories.
|
|
169
|
+
|
|
170
|
+
Three ratified sibling extensions (OQ-P04-1 operator ratification, 2026-05-13): `_decisions/` codifies operator-ratified decisions, architectural choices, and deferral rationale that should persist across sessions; `_evidence/` holds artifacts and data that substantiate spec claims (survey results, benchmarks, prior-art snapshots); `_handoffs/` carries inter-agent and inter-phase transfer packets — context bundles that bridge command boundaries without polluting the primary `_inputs/` surface.
|
|
171
|
+
|
|
172
|
+
### 2.2 Naming Conventions
|
|
173
|
+
|
|
174
|
+
**Plan folders:** `[REPO_NAME]-[CONTEXT]-[MISSION]` in lowercase kebab-case (e.g., `my-app-api-modernization`, `data-service-ml-pipeline-v2`). `[REPO_NAME]` is the kebab-case repository directory name; `[REPOSITORY_NAME]` (used in document titles/metadata) is the same value in its original casing.
|
|
175
|
+
|
|
176
|
+
| File Type | Convention | Example |
|
|
177
|
+
| ----------- | ----------- | --------- |
|
|
178
|
+
| Preamble | `PREAMBLE.md` | Always (root) |
|
|
179
|
+
| Master Plan | `MASTER-PLAN.md` | Always (root) |
|
|
180
|
+
| Phases dir | `phases/` | Always (root) |
|
|
181
|
+
| Phase folders | `phases/NN-kebab-topic/` | `phases/01-archive-and-clean-slate/` |
|
|
182
|
+
| Phase definition | `phases/NN-kebab-topic/PHASE.md` | `phases/01-archive-and-clean-slate/PHASE.md` |
|
|
183
|
+
| Sub-phase folders | `phases/NN-topic/NNA-kebab-topic/` | `phases/02-data-layer/02A-schema-design/` |
|
|
184
|
+
| Phase reports | `phases/NN-kebab-topic/REPORT.md` | `phases/05-integration/REPORT.md` |
|
|
185
|
+
| Progress | `PROGRESS.md` | Always (root) |
|
|
186
|
+
| Plan Notes | `PLAN-NOTES.md` | Always (root) |
|
|
187
|
+
| Completion | `COMPLETION.md` | Root (generated by final phase) |
|
|
188
|
+
|
|
189
|
+
Phase numbers: zero-padded two digits. Sub-phases: letter suffix, no separator (`02A`, not `02-A`). Sub-phase folders nest inside their parent phase folder. Nesting is capped at one level — if a sub-phase exceeds TM-13 constraints, promote it to a peer phase instead of creating sub-sub-phases. Minimum 2 phases (at least one work phase + one verification phase). Final phase is always verification.
|
|
190
|
+
|
|
191
|
+
### 2.3 Definitions
|
|
192
|
+
|
|
193
|
+
**Guider files:** Project configuration and guidance files that inform AI agents about the codebase — `CLAUDE.md`, `site/content/docs/architecture/agents.mdx`, `ARCHITECTURE.md`, and similar project-level documentation files. Treated as living documents updated after every change.
|
|
194
|
+
|
|
195
|
+
### 2.4 Sub-Phase Execution Semantics
|
|
196
|
+
|
|
197
|
+
Sub-phases execute **sequentially within their parent phase** in alphabetical order (02A → 02B → 02C) unless the Master Plan's dependency graph explicitly marks them as parallelizable. Each sub-phase:
|
|
198
|
+
|
|
199
|
+
- Has its own `PHASE.md` and `REPORT.md` inside its nested folder.
|
|
200
|
+
- Is independently promptable (prepend `PREAMBLE.md` as with any phase).
|
|
201
|
+
- Tracks separately in PROGRESS.md Phase Tracker (e.g., row `02A`, `02B`).
|
|
202
|
+
- Produces its own Phase Output Registry entries — downstream phases reference sub-phase outputs by sub-phase number (e.g., "From Phase 02B: `path/to/artifact`").
|
|
203
|
+
- Receives a per-sub-phase commit at SHARED+ (per-parent-phase commit at PERSONAL_USE unless sub-phases touch different files).
|
|
204
|
+
|
|
205
|
+
The parent phase is marked COMPLETE only when **all** its sub-phases are complete. If any sub-phase is BLOCKED, the parent phase is BLOCKED. `/plan-execute` targeting a parent phase number (e.g., `02`) executes all sub-phases in order; targeting a sub-phase number (e.g., `02A`) executes only that sub-phase.
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## 3. File Templates
|
|
210
|
+
|
|
211
|
+
### 3.1 Template: `PREAMBLE.md`
|
|
212
|
+
|
|
213
|
+
> **Purpose:** Shared context prepended to every phase prompt. Ensures each phase has full project context regardless of session state. Keep this lean — essential context only.
|
|
214
|
+
|
|
215
|
+
```markdown
|
|
216
|
+
# [REPOSITORY_NAME]: [PROJECT_NAME] — Preamble
|
|
217
|
+
|
|
218
|
+
> **MANDATORY:** Prepend this preamble when prompting ANY phase file.
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 1. Context
|
|
223
|
+
|
|
224
|
+
**Project:** [PROJECT_NAME]
|
|
225
|
+
**Repository:** [REPOSITORY_NAME]
|
|
226
|
+
**Mode:** [NEW | OVERHAUL]
|
|
227
|
+
**Plan Version:** v[N.M.P]
|
|
228
|
+
**Domain:** [PRIMARY_DOMAIN]
|
|
229
|
+
**Seriousness:** [EXPLORING | PERSONAL_USE | SHARED | PUBLIC_LAUNCH]
|
|
230
|
+
|
|
231
|
+
**Description:**
|
|
232
|
+
[2–5 sentence description: what it does, who it's for, what problem it solves.]
|
|
233
|
+
|
|
234
|
+
**[OVERHAUL mode only] Current State:**
|
|
235
|
+
[What works, what's broken, what needs modernization.]
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## 2. Repository Structure
|
|
240
|
+
|
|
241
|
+
### [NEW mode] Target Structure:
|
|
242
|
+
|
|
243
|
+
[PROJECT_ROOT]/
|
|
244
|
+
├── src/
|
|
245
|
+
├── tests/
|
|
246
|
+
├── docs/
|
|
247
|
+
├── config/
|
|
248
|
+
├── .github/
|
|
249
|
+
├── pyproject.toml
|
|
250
|
+
├── README.md
|
|
251
|
+
├── CLAUDE.md
|
|
252
|
+
└── ...
|
|
253
|
+
|
|
254
|
+
> **Note:** Plan suites are stored centrally at `<project-root>/.apothem/plans/`, not inside the project repository.
|
|
255
|
+
|
|
256
|
+
### [OVERHAUL mode] Current → Target:
|
|
257
|
+
[Annotated diff showing what moves, what's new, what's removed.]
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## 3. Mandatory Standards
|
|
262
|
+
|
|
263
|
+
[Numbered list of project-wide standards adapted to domain. See template Section 11 for domain bundles.]
|
|
264
|
+
|
|
265
|
+
1. **Language/framework target**
|
|
266
|
+
2. **Type safety**
|
|
267
|
+
3. **Documentation style**
|
|
268
|
+
4. **Data models**
|
|
269
|
+
5. **Linting & formatting**
|
|
270
|
+
6. **Testing & coverage**
|
|
271
|
+
7. **No hardcoding** — all values configurable
|
|
272
|
+
8. **Error handling**
|
|
273
|
+
9. **Security**
|
|
274
|
+
10. **[Domain-specific standards]**
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## 4. Architecture Mandates
|
|
279
|
+
|
|
280
|
+
| Decision | Choice | Rationale |
|
|
281
|
+
|----------|--------|-----------|
|
|
282
|
+
| [e.g., Package structure] | [e.g., Domain-driven modules] | [rationale] |
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## 5. Domain-Specific Details
|
|
287
|
+
|
|
288
|
+
[Algorithms, schemas, benchmarks, hardware constraints, regulatory requirements, etc.]
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## 6. Naming Conventions
|
|
293
|
+
|
|
294
|
+
| Entity | Convention | Example |
|
|
295
|
+
|--------|-----------|---------|
|
|
296
|
+
| Files/folders | `kebab-case` | `data-loader.py` |
|
|
297
|
+
| Classes | `PascalCase` | `DataLoader` |
|
|
298
|
+
| Functions | `snake_case` / `camelCase` | `load_data()` |
|
|
299
|
+
| Constants | `UPPER_SNAKE_CASE` | `MAX_RETRIES` |
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## 7. Workflow Mandates
|
|
304
|
+
|
|
305
|
+
The following govern EVERY phase execution. These reference Template Mandates (TM-N)
|
|
306
|
+
from the Master Plan Suite Template Section 4. Governance intensity scales with
|
|
307
|
+
Seriousness Level — see `CLAUDE.md` Section 4.
|
|
308
|
+
|
|
309
|
+
1. **Zero Assumptions (TM-1/CM-2):** structured inquiry for any ambiguity.
|
|
310
|
+
2. **Configuration-Driven (TM-2/CM-3):** Zero magic numbers, zero hardcoded paths.
|
|
311
|
+
3. **Logical Rigor (TM-3):** Every choice traceable to requirement or decision.
|
|
312
|
+
4. **Search Before Implement & Dependency Audit (TM-4/CM-4):** Search codebase first. Audit dependencies after changes.
|
|
313
|
+
5. **Clean Architecture (TM-5):** DDD, SOLID, DRY, KISS. No mixed concerns. Restructure only when genuinely needed.
|
|
314
|
+
6. **Guider Updates (TM-6):** Keep guider files current as living documents.
|
|
315
|
+
7. **Best Solution (TM-7/CM-5):** Expert-grade implementation with rationale.
|
|
316
|
+
8. **Quality Gates & Repository Sync (TM-8):** Lint, format, type-check, test. All artifacts publication-ready.
|
|
317
|
+
9. **Preserve Nuances (TM-9):** [OVERHAUL] Maintain original intentions.
|
|
318
|
+
10. **Critical Evaluation (TM-10/CM-1):** Never obey blindly. Push back on suboptimal paths.
|
|
319
|
+
11. **Coherent Product (TM-11/CM-7):** Production-ready deliverables. Plan-internal isolation: enforce CM-7 forbidden-terms and protected-artifacts lists (canonical definition in CLAUDE.md CM-7). Everything reads as natural, organic development as if no plan ever existed.
|
|
320
|
+
12. **Phase Architecture (TM-12):** Independently-promptable phases with shared preamble.
|
|
321
|
+
13. **Phase Manageability (TM-13):** Hard constraints: ≤10 tasks, ≤5 unrelated files, ≤2000 tokens, no mixed concerns.
|
|
322
|
+
14. **Granular Commits (TM-14/CM-13):** Per-task at SHARED+, per-phase at PERSONAL_USE. End-of-phase commit gate: all codebase changes committed before phase report.
|
|
323
|
+
15. **Context Stewardship (TM-15/CM-12):** Always-on context health. See `context-management.md` (CM-24) for full protocol.
|
|
324
|
+
16. **Autonomous Execution (TM-16/CM-16):** Full-suite execution defaults to continuous advancement between phases. Granular pause cadences are explicit overrides recorded in the Resumption Contract.
|
|
325
|
+
17. **Agent Teams (TM-17/CM-17):** Primary mechanism for parallel work. See `agent-orchestration.md` (CM-25) for full protocol.
|
|
326
|
+
18. **Error Recovery (TM-18/CM-18):** Classify, recover, log. Escalate after 3.
|
|
327
|
+
19. **Pipeline Orchestration (TM-19/CM-20):** Skills form directional pipeline.
|
|
328
|
+
20. **Manual Approval (TM-20):** STOP before applying changes to plan files. Invoke the structured-inquiry channel to solicit user review and approval (canonical channel per `rules/interactive-questions.md`).
|
|
329
|
+
21. **Final Sweep (TM-21):** After finalizing Q&A: Prose Fidelity + Internal Consistency Scorecards + Appendix checklist. FAIL blocks execution at SHARED+.
|
|
330
|
+
22. **Creative Architecture (TM-22/CM-21):** Cognitive Filters, language standards, originality threshold. Conceptual elegance is a deliverable quality.
|
|
331
|
+
23. **Persistent Conventions Vigilance (TM-23/CM-22):** Always-on. See `persistent-conventions-vigilance.md` for full specification.
|
|
332
|
+
24. **Large File Generation (TM-24/CM-23):** Always-on. See `large-file-generation.md` for full specification.
|
|
333
|
+
25. **Context Management (TM-25/CM-24):** Always-on. See `context-management.md` for full specification.
|
|
334
|
+
26. **Agent Orchestration (TM-26/CM-25):** Always-on. See `agent-orchestration.md` for full specification.
|
|
335
|
+
27. **Auto Memory Lifecycle (TM-27/CM-26):** Always-on. See `auto-memory.md` for full specification.
|
|
336
|
+
28. **Clean Architecture Layers (TM-28/CM-27):** See `clean-architecture-layers.md` for full specification.
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## 8. Per-Phase Completion Checklist
|
|
341
|
+
|
|
342
|
+
After completing EVERY phase or sub-phase, verify before marking done:
|
|
343
|
+
|
|
344
|
+
- [ ] All tasks completed as specified
|
|
345
|
+
- [ ] Code passes linting, type checking, formatting
|
|
346
|
+
- [ ] All tests pass (existing + new)
|
|
347
|
+
- [ ] New code integrates correctly (imports, interfaces, no regressions)
|
|
348
|
+
- [ ] No stale/orphan/unused code introduced
|
|
349
|
+
- [ ] Plan-internal isolation verified — zero CM-7 forbidden terms in all protected artifacts (CLAUDE.md CM-7). Everything must read naturally as if no plan ever existed
|
|
350
|
+
- [ ] Documentation updated (scope per seriousness level)
|
|
351
|
+
- [ ] Guider files current (scope per seriousness level)
|
|
352
|
+
- [ ] Cross-repo dependencies audited
|
|
353
|
+
- [ ] Git commits created per CM-13 — ALL codebase changes committed, no uncommitted modifications (scope per seriousness level)
|
|
354
|
+
- [ ] PROGRESS.md updated with Resumption Contract
|
|
355
|
+
- [ ] Phase execution report written to phase folder (`phases/NN-topic/REPORT.md`) (scope per seriousness level)
|
|
356
|
+
- [ ] Skills evaluated for creation or evolution per CLAUDE.md Section 7.6 (Artifact Evolution) (at SHARED+: mandatory evaluation per phase; create/evolve when reusable pattern detected)
|
|
357
|
+
- [ ] structured inquiry used for any ambiguities — never assumed
|
|
358
|
+
- [ ] Phase verification checklist satisfied
|
|
359
|
+
- [ ] Creative quality maintained — no forbidden phrases, all five required qualities present (specificity, surprise, internal logic, generativity, tension), conceptual elegance present (scope per seriousness)
|
|
360
|
+
- [ ] Context stewardship applied throughout
|
|
361
|
+
- [ ] A staff engineer would approve this work
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## 9. Session Protocols
|
|
366
|
+
|
|
367
|
+
### 9.1 Session Start
|
|
368
|
+
|
|
369
|
+
Before beginning ANY work in a new session:
|
|
370
|
+
|
|
371
|
+
- [ ] Read `MEMORY.md` from `<harness-root>/projects/{project-hash}/memory/` — read relevant topic files on-demand (auto-memory rule §3–§4). Memory is always read first per CM-24 §6.2 — it provides stable context that informs interpretation of all subsequent files
|
|
372
|
+
- [ ] **Blind Bootstrap (CM-24 §6):** Read PROGRESS.md Resumption Contract — it contains the complete cold-start manifest including convention anchors, active decisions, critical files, and next action. Trust the contract; do not rely on active context from prior sessions
|
|
373
|
+
- [ ] Read `rules/*.md` for always-on behavioral directives
|
|
374
|
+
- [ ] Read `skills/*/SKILL.md` for relevant skills
|
|
375
|
+
- [ ] If Resumption Contract lists Critical Files for Next Phase, read them in listed order
|
|
376
|
+
- [ ] Read `PLAN-NOTES.md` resolved decisions — DO NOT re-ask (skip if Active Decisions in Resumption Contract is sufficient)
|
|
377
|
+
- [ ] Check `PLAN-NOTES.md` for user communication preferences if recorded
|
|
378
|
+
- [ ] Read latest execution report from the preceding phase folder (`phases/NN-topic/REPORT.md`)
|
|
379
|
+
- [ ] Validate Phase Output Registry — confirm prerequisite outputs for next phase exist on disk
|
|
380
|
+
- [ ] Re-engage cognitive identity (see `rules/cognitive-identity.md`)
|
|
381
|
+
- [ ] Activate Context Stewardship (CM-12), Conventions Vigilance (CM-22), Context Management (CM-24)
|
|
382
|
+
|
|
383
|
+
### 9.2 Session End
|
|
384
|
+
|
|
385
|
+
Before ending any session or when context pressure detected:
|
|
386
|
+
|
|
387
|
+
- [ ] **Phase Exit Protocol (if mid-phase):** Write structured Resumption Contract to PROGRESS.md — current phase/task, next action, convention anchors, critical files for next session, watch items
|
|
388
|
+
- [ ] **Phase Output Registry:** If any phase completed this session, verify outputs exist on disk and update registry in PROGRESS.md
|
|
389
|
+
- [ ] **Decision externalization:** Verify all decisions are in PLAN-NOTES.md (CM-24 §2.1)
|
|
390
|
+
- [ ] **Convention anchors:** If naming/formatting conventions evolved, update Resumption Contract
|
|
391
|
+
- [ ] **Memory evaluation:** Evaluate stable patterns for memory writes (CM-26 — only confirmed patterns, not session-specific context)
|
|
392
|
+
- [ ] **Artifact evolution:** Create or evolve skills per CLAUDE.md Section 7.6 (Artifact Evolution)
|
|
393
|
+
- [ ] **Conventions compliance:** Verify conventions (CM-22 self-check)
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
## 10. Problem-Solving Protocol
|
|
398
|
+
|
|
399
|
+
> **This is the canonical specification.** CLAUDE.md Section 5 is a summary pointer.
|
|
400
|
+
|
|
401
|
+
### 10.1 Deep Problem-Solving
|
|
402
|
+
|
|
403
|
+
For any non-trivial problem:
|
|
404
|
+
|
|
405
|
+
1. **Clarify the core** — the real problem, not the symptom. What has been tried? Apply the **Obvious Purge** (Filter 1): what is the first solution that comes to mind? Discard it — it is the thought everyone has. If the problem is hard to articulate, that difficulty is data — you are at the edge of existing vocabulary (**Difficulty Is Data**). Press forward. Invent the vocabulary.
|
|
406
|
+
2. **Root causes** — "5 Whys", causal chains. The **one thing** that fixes everything. Deploy the **Living Systems Lens**: if this problem were a living organism, what would it eat, how would it reproduce, what would kill it, what evolutionary pressure created it? Deploy the **Historical Saboteur**: how was this problem solved in a radically different era? What did they understand that we have since **FORGOTTEN**? Retrieve that lost knowledge and re-weaponize it for the present context.
|
|
407
|
+
3. **Challenge assumptions** — which could be completely wrong? Apply the **Inversion Press** (Filter 3): invert every assumption, one by one. At least one inversion must survive into the final recommendation.
|
|
408
|
+
4. **Exile the domain** — apply **Domain Exile** (Filter 2): force the problem into a completely foreign field. What does this problem look like through the lens of evolutionary biology, medieval guild systems, tidal mechanics? Solutions from alien domains carry the genetic material of novelty.
|
|
409
|
+
5. **Evaluate solutions** — map all outcomes including unconsidered ones. Feasibility, impact, maintainability, trade-offs. Deploy the **Constraint Paradox**: add an extreme constraint, then design a solution that is superior *because* of it. Apply the **Combinatorial Explosion** (Filter 4): force a synthesis between the problem and a concept from a distant domain — what emergent solution appears? Target solutions two or three conceptual leaps beyond the adjacent possible — Stuart Kauffman's adjacent possible is a trap (**The Non-Adjacent Possible**). Build the bridges as you go.
|
|
410
|
+
6. **Risk-reward lens** — best outcome if right, least damage if wrong. The **one critical question** before committing. Deploy the **Villain Frame**: who would HATE this solution and why? Design specifically to amplify that hatred — the ideas that provoke genuine opposition threaten existing paradigms. That is where real innovation lives.
|
|
411
|
+
7. **Recommend** — why this approach wins. Specific, actionable execution plan. Apply the **Aesthetic Demand** (Filter 5): does this solution have conceptual elegance? Draw from any domain, discipline, era, culture, or medium — stealing from one source is plagiarism; stealing from a hundred sources is a new theory. Recombination at sufficient scale becomes original creation (**Steal Like An Ecosystem**).
|
|
412
|
+
8. **Implementation plan** — discrete, verifiable steps with acceptance criteria. Treat the plan as a working prototype to be tested, broken, and iterated — not a finished specification (**The Prototype Ethic**).
|
|
413
|
+
9. **Risks and mitigations** — probability, impact, prevention. Surface the user's **biggest fear**. Deploy **Failure Is A Design Material**: use failure modes as design inputs.
|
|
414
|
+
|
|
415
|
+
### 10.2 Strategic Decision-Making
|
|
416
|
+
|
|
417
|
+
For significant decisions: structured capture (decision, options, knowns, unknowns, biggest fear, deadline), full outcome mapping, assumption testing, pros/cons, short vs. long-term, opportunity cost, risk-reward, the critical question, alternatives. Apply the **Combinatorial Explosion** (Filter 4): force a synthesis between two concepts that have never been combined. The **100-Year Zoom**: from a century forward, what would historians say was the obvious answer? Deploy the **Second-Order Narrative**: what does this decision change about how people think, feel, relate, or organize — not just what it accomplishes?
|
|
418
|
+
|
|
419
|
+
### 10.3 Strategic Prioritization
|
|
420
|
+
|
|
421
|
+
Single most important thing right now. What's being overthought. Prioritized execution plan. One metric to obsess over.
|
|
422
|
+
|
|
423
|
+
### 10.4 Workflow Optimization
|
|
424
|
+
|
|
425
|
+
Single biggest bottleneck. Eliminate inefficiencies. Maximize parallelism. Single binding-constraint change.
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
### 3.2 Template: `MASTER-PLAN.md`
|
|
431
|
+
|
|
432
|
+
> **Purpose:** Central index and decision registry for the plan suite.
|
|
433
|
+
|
|
434
|
+
```markdown
|
|
435
|
+
# [REPOSITORY_NAME]: [PROJECT_NAME] — Master Plan
|
|
436
|
+
|
|
437
|
+
> **Phases:** [N] | **Version:** v[N.M.P] | **Decisions:** [M] | **Mode:** [NEW | OVERHAUL]
|
|
438
|
+
> **Domain:** [DOMAIN] | **Seriousness:** [LEVEL]
|
|
439
|
+
|
|
440
|
+
**Versioning:** Semantic — `MAJOR.MINOR.PATCH`. STRUCTURAL revisions (add/remove phases, change dependency graph, alter architectural decisions) bump MAJOR. REFINEMENT revisions (modify task scope, update acceptance criteria, fix internal inconsistencies) bump MINOR. PATCH revisions (typo fixes, formatting, doc-only edits without behavior change) bump PATCH.
|
|
441
|
+
|
|
442
|
+
### Revision History
|
|
443
|
+
|
|
444
|
+
> One row per generation or applied revision wave. Initial generation seeds at `v0.1.0`. Subsequent rows appended by `/plan-review`.
|
|
445
|
+
|
|
446
|
+
| Version | Date | Classification | What Changed |
|
|
447
|
+
|---------|------|----------------|--------------|
|
|
448
|
+
| v0.1.0 | [YYYY-MM-DD] | INITIAL | Initial plan generation |
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## 1. Resolved Decisions
|
|
453
|
+
|
|
454
|
+
| # | Topic | Decision | Rationale | Recorded At |
|
|
455
|
+
|---|-------|----------|-----------|-------------|
|
|
456
|
+
| D1 | [topic] | [decision] | [why] | v0.1.0 |
|
|
457
|
+
| D-N | Stratified per-task effort calibration | `/plan-spec` = max, `/plan-generate` = max, `/plan-review` = max, `/plan-audit` = max, `/plan-execute` = medium (per-phase override via PHASE.md `effort:` frontmatter), `/plan-status` = min | Allocates LLM effort to where decision-density is highest (spec / generate / review / audit) and conserves it where the work is mechanical (execute) or read-only (status); per-phase override admits heavyweight execute phases (architectural rework, multi-file refactors) reaching `max` without permanently inflating the command default. See CM-12d. | v0.1.0 |
|
|
458
|
+
|
|
459
|
+
---
|
|
460
|
+
|
|
461
|
+
## 2. Phase Index
|
|
462
|
+
|
|
463
|
+
| # | File | Scope | Depends On | Parallelizable With |
|
|
464
|
+
|---|------|-------|------------|---------------------|
|
|
465
|
+
| 01 | `phases/01-kebab-topic/PHASE.md` | [scope] | — | — |
|
|
466
|
+
| 02A | `phases/02-topic/02A-subtopic/PHASE.md` | [scope] | 01 | 02B |
|
|
467
|
+
| 02B | `phases/02-topic/02B-subtopic/PHASE.md` | [scope] | 01 | 02A |
|
|
468
|
+
| NN | `phases/NN-final-verification/PHASE.md` | E2E verification | ALL prior | — |
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
## 3. Dependency Graph
|
|
473
|
+
|
|
474
|
+
[Phase 01] → [Phase 02: 02A → 02B] → [Phase 03] → ... → [Phase NN: Final Verification]
|
|
475
|
+
|
|
476
|
+
> Sub-phases shown inline within parent. Use `→` for sequential, `∥` for parallelizable (e.g., `02A ∥ 02B`).
|
|
477
|
+
|
|
478
|
+
**Parallelization Opportunities:** [List with rationale.]
|
|
479
|
+
|
|
480
|
+
---
|
|
481
|
+
|
|
482
|
+
## 3A. Week-by-Week Execution Roadmap
|
|
483
|
+
|
|
484
|
+
> At SHARED+ seriousness: required. Include first-result milestone and 30/60/90-day checkpoints for ambitious projects.
|
|
485
|
+
|
|
486
|
+
| Week | Phase(s) | Key Metric | Deliverable |
|
|
487
|
+
|------|----------|-----------|-------------|
|
|
488
|
+
| Week 1 | Phase 01, 02 | [metric] | [output] |
|
|
489
|
+
|
|
490
|
+
---
|
|
491
|
+
|
|
492
|
+
## 4. [OVERHAUL mode] Features to Preserve
|
|
493
|
+
|
|
494
|
+
| Feature | Location | Preserve? | Notes |
|
|
495
|
+
|---------|----------|-----------|-------|
|
|
496
|
+
| [feature] | [file/module] | YES | [caveats] |
|
|
497
|
+
|
|
498
|
+
---
|
|
499
|
+
|
|
500
|
+
## 5. Future Extensions
|
|
501
|
+
|
|
502
|
+
1. [Deferred — out of current scope]
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
506
|
+
## 6. How to Use This Plan
|
|
507
|
+
|
|
508
|
+
1. **Always prepend** `PREAMBLE.md` before prompting any phase file.
|
|
509
|
+
2. **Execute phases in order** per Phase Index and Dependency Graph.
|
|
510
|
+
3. **After each phase:** update `PROGRESS.md`, write report to phase folder (`phases/NN-topic/REPORT.md`).
|
|
511
|
+
4. **If context rots:** apply Session End Protocol, start new session, re-read Preamble + PROGRESS.md.
|
|
512
|
+
5. **If ambiguity:** structured inquiry immediately. Document in `PLAN-NOTES.md`.
|
|
513
|
+
6. **Final phase** is always E2E verification. Never skip it.
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
---
|
|
517
|
+
|
|
518
|
+
### 3.3 Template: Phase Files (`phases/NN-kebab-topic/PHASE.md`)
|
|
519
|
+
|
|
520
|
+
> **Purpose:** Each phase file is a standalone, independently-promptable unit of work, located inside its own phase folder.
|
|
521
|
+
|
|
522
|
+
```markdown
|
|
523
|
+
---
|
|
524
|
+
name: phase-NN-kebab-topic
|
|
525
|
+
phase: NN
|
|
526
|
+
depends-on: [XX, YY]
|
|
527
|
+
# effort: # Optional, end-user-supplied per phase — absent until you set it; omit to leave effort to your in-conversation choice. Values: min | low | medium | high | max — per the D3 stratified effort calibration taxonomy. Heavyweight phases (architectural rework, multi-file refactors, security-critical work) MAY set `max`; trivial phases MAY use `low`/`min`.
|
|
528
|
+
---
|
|
529
|
+
|
|
530
|
+
# Phase NN — Descriptive Phase Title
|
|
531
|
+
|
|
532
|
+
> **Prepend `PREAMBLE.md` before this prompt.**
|
|
533
|
+
> **Phase folder:** `phases/NN-kebab-topic/`
|
|
534
|
+
|
|
535
|
+
---
|
|
536
|
+
|
|
537
|
+
## Prerequisites
|
|
538
|
+
|
|
539
|
+
- [ ] Phase [XX] completed and verified
|
|
540
|
+
- [ ] [Required artifacts/states]
|
|
541
|
+
- [ ] `PROGRESS.md` confirms prerequisites complete
|
|
542
|
+
- [ ] `PLAN-NOTES.md` reviewed for decisions D[N], D[M]
|
|
543
|
+
|
|
544
|
+
---
|
|
545
|
+
|
|
546
|
+
## Scope
|
|
547
|
+
|
|
548
|
+
**What this phase does:** [2–4 sentences. IN scope and OUT of scope.]
|
|
549
|
+
|
|
550
|
+
**Success looks like:** [Vivid, measurable outcome.]
|
|
551
|
+
|
|
552
|
+
**Boundaries:**
|
|
553
|
+
- IN scope: [list]
|
|
554
|
+
- OUT of scope: [deferred to Phase XX / Future Extensions]
|
|
555
|
+
|
|
556
|
+
---
|
|
557
|
+
|
|
558
|
+
## Tasks
|
|
559
|
+
|
|
560
|
+
### NN.1 — [Task Title]
|
|
561
|
+
[Detailed description: files to create/modify, logic, patterns, edge cases, acceptance criteria.]
|
|
562
|
+
|
|
563
|
+
### NN.2 — [Task Title]
|
|
564
|
+
[...]
|
|
565
|
+
|
|
566
|
+
---
|
|
567
|
+
|
|
568
|
+
## Inputs
|
|
569
|
+
- From Phase [XX]: `path/to/artifact` — [description] (see `phases/XX-topic/PHASE.md` Outputs)
|
|
570
|
+
|
|
571
|
+
## Outputs
|
|
572
|
+
- `path/to/file.ext` — [description] (each output is a **complete, working deliverable**)
|
|
573
|
+
- Consumed by: Phase [YY] (see `phases/YY-topic/PHASE.md` Inputs)
|
|
574
|
+
|
|
575
|
+
---
|
|
576
|
+
|
|
577
|
+
## Verification
|
|
578
|
+
|
|
579
|
+
> Complete Per-Phase Completion Checklist (Preamble Section 8) FIRST, then phase-specific items:
|
|
580
|
+
|
|
581
|
+
- [ ] **[PREAMBLE BASELINE]** Per-Phase Checklist satisfied
|
|
582
|
+
- [ ] [Specific testable assertion]
|
|
583
|
+
- [ ] [Specific testable assertion]
|
|
584
|
+
|
|
585
|
+
---
|
|
586
|
+
|
|
587
|
+
## Agent Offloading Hints
|
|
588
|
+
|
|
589
|
+
| Task | Agent Type | Return Contract |
|
|
590
|
+
|------|-----------|-----------------|
|
|
591
|
+
| [subtask] | Explore agent | Findings list with paths |
|
|
592
|
+
| [subtask] | general-purpose | Pass/fail summary |
|
|
593
|
+
```
|
|
594
|
+
|
|
595
|
+
---
|
|
596
|
+
|
|
597
|
+
### 3.4 Template: `PROGRESS.md`
|
|
598
|
+
|
|
599
|
+
```markdown
|
|
600
|
+
# PROGRESS — [PROJECT_NAME]
|
|
601
|
+
|
|
602
|
+
## Status: [NOT STARTED | IN PROGRESS | PHASE NN COMPLETE | COMPLETE]
|
|
603
|
+
|
|
604
|
+
## Plan Suite Location
|
|
605
|
+
`<project-root>/.apothem/plans/[REPO_NAME]-[CONTEXT]-[MISSION]/`
|
|
606
|
+
|
|
607
|
+
---
|
|
608
|
+
|
|
609
|
+
## Key Counts
|
|
610
|
+
- **Total Phases:** [N]
|
|
611
|
+
- **Completed:** [X] / [N]
|
|
612
|
+
- **In Progress:** [Phase NN — topic]
|
|
613
|
+
- **Blocked:** [None | Phase NN — reason]
|
|
614
|
+
- **Skipped:** [None | Phase NN — blocked upstream: Phase MM]
|
|
615
|
+
|
|
616
|
+
## Review
|
|
617
|
+
- **Q&A Batches:** [N] | **Decisions Resolved:** [M] | **Outstanding:** [count]
|
|
618
|
+
- **Scorecards:** Prose Fidelity: [grade] | Consistency: [grade] | Source: [/plan-generate | /plan-review]
|
|
619
|
+
|
|
620
|
+
---
|
|
621
|
+
|
|
622
|
+
## Phase Tracker
|
|
623
|
+
|
|
624
|
+
| # | Phase | Status | Report | Commit |
|
|
625
|
+
|---|-------|--------|--------|--------|
|
|
626
|
+
| 01 | [topic] | ✅ Complete | [phases/01-topic/REPORT.md] | `abc1234` |
|
|
627
|
+
| 02A | [sub-topic] | 🔄 In Progress | — | — |
|
|
628
|
+
| NN | Final Verification | ⏳ Pending | — | — |
|
|
629
|
+
|
|
630
|
+
> **Status values:** ✅ Complete, 🔄 In Progress, ⏳ Pending, 🚫 BLOCKED [reason], ⏭️ SKIPPED [blocked upstream: Phase NN]
|
|
631
|
+
|
|
632
|
+
---
|
|
633
|
+
|
|
634
|
+
## Phase Output Registry
|
|
635
|
+
|
|
636
|
+
> **Purpose:** What each completed phase actually produced — verified paths, not just declared outputs. A fresh session validates inputs against this registry before executing a phase.
|
|
637
|
+
|
|
638
|
+
| Phase | Declared Output | Actual Path | Verified | Notes |
|
|
639
|
+
|-------|----------------|-------------|----------|-------|
|
|
640
|
+
| 01 | `[path]` | `[actual path]` | ✅ | — |
|
|
641
|
+
|
|
642
|
+
---
|
|
643
|
+
|
|
644
|
+
## Files Written / Modified
|
|
645
|
+
|
|
646
|
+
### [Category]
|
|
647
|
+
- [x] `path/to/file.ext` — [description]
|
|
648
|
+
- [ ] `path/to/file.ext` — [pending — Phase NN]
|
|
649
|
+
|
|
650
|
+
---
|
|
651
|
+
|
|
652
|
+
## Key Decisions Summary
|
|
653
|
+
1. **D[N]:** [one-line summary]
|
|
654
|
+
|
|
655
|
+
---
|
|
656
|
+
|
|
657
|
+
## Next Steps
|
|
658
|
+
1. [ ] [Next phase to execute]
|
|
659
|
+
2. [ ] [Blockers to resolve]
|
|
660
|
+
|
|
661
|
+
---
|
|
662
|
+
|
|
663
|
+
## Resumption Contract
|
|
664
|
+
|
|
665
|
+
> **Purpose:** Everything a fresh session needs to bootstrap phase execution — no conversation history required. This is the primary inter-session communication bus.
|
|
666
|
+
|
|
667
|
+
**Last session:** [YYYY-MM-DD]
|
|
668
|
+
**Pipeline stage:** [generating | reviewing | executing | complete]
|
|
669
|
+
**Phase in progress:** [NN | none]
|
|
670
|
+
**Task in progress:** [NN.X | none]
|
|
671
|
+
**Task status:** [not-started | partial | complete]
|
|
672
|
+
**Next action:** [precise imperative — e.g., "Execute Phase 05 Task 05.3: implement rate limiting middleware"]
|
|
673
|
+
**Blockers:** [none | itemized list with resolution paths]
|
|
674
|
+
**Watch items:** [itemized — integration concerns, fragile areas, known risks]
|
|
675
|
+
**Latest commit:** `[hash]` — [message]
|
|
676
|
+
|
|
677
|
+
### Active Decisions
|
|
678
|
+
[D-numbers and one-line summaries relevant to current/next phase — extracted from PLAN-NOTES.md so the next session doesn't need to parse the full file]
|
|
679
|
+
|
|
680
|
+
### Convention Anchors
|
|
681
|
+
[Key naming, formatting, and architectural conventions active for this project — full snapshot so a fresh session adopts them without re-deriving from preamble]
|
|
682
|
+
|
|
683
|
+
### Critical Files for Next Phase
|
|
684
|
+
[Ordered list of exact file paths the next session MUST read to execute the next phase — this IS the blind bootstrap manifest]
|
|
685
|
+
```
|
|
686
|
+
|
|
687
|
+
---
|
|
688
|
+
|
|
689
|
+
### 3.5 Template: `PLAN-NOTES.md`
|
|
690
|
+
|
|
691
|
+
```markdown
|
|
692
|
+
# PLAN-NOTES — [PROJECT_NAME]
|
|
693
|
+
|
|
694
|
+
## Task
|
|
695
|
+
[1–2 sentence description.]
|
|
696
|
+
|
|
697
|
+
## Plan Suite Location
|
|
698
|
+
`<project-root>/.apothem/plans/[REPO_NAME]-[CONTEXT]-[MISSION]/`
|
|
699
|
+
|
|
700
|
+
---
|
|
701
|
+
|
|
702
|
+
## Already Resolved Decisions — DO NOT RE-ASK
|
|
703
|
+
|
|
704
|
+
| # | Decision Summary |
|
|
705
|
+
|---|-----------------|
|
|
706
|
+
| D1 | [summary] |
|
|
707
|
+
|
|
708
|
+
---
|
|
709
|
+
|
|
710
|
+
## Gap Analysis
|
|
711
|
+
|
|
712
|
+
### [Theme] Gaps
|
|
713
|
+
- [Gap description]
|
|
714
|
+
|
|
715
|
+
---
|
|
716
|
+
|
|
717
|
+
## Q&A Batches
|
|
718
|
+
|
|
719
|
+
### Batch 1 — [Theme]
|
|
720
|
+
**Date:** [YYYY-MM-DD]
|
|
721
|
+
|
|
722
|
+
**Q1.1:** [Question]
|
|
723
|
+
- **Recommended:** [rationale]
|
|
724
|
+
- **Answer:** [user's answer]
|
|
725
|
+
- **Decision:** [resolution]
|
|
726
|
+
- **Affected Phases:** [NN, MM]
|
|
727
|
+
|
|
728
|
+
---
|
|
729
|
+
|
|
730
|
+
## Phase Files to Update
|
|
731
|
+
|
|
732
|
+
| Phase File | Update Needed | Driving Decision | Priority | Status |
|
|
733
|
+
|-----------|----------------|-----------------|----------|--------|
|
|
734
|
+
| `phases/01-.../PHASE.md` | Update task 01.3 | D5 | Important | Done |
|
|
735
|
+
|
|
736
|
+
---
|
|
737
|
+
|
|
738
|
+
## Recovery Log
|
|
739
|
+
|
|
740
|
+
| Date | Error Class | Signal | Action | Outcome |
|
|
741
|
+
|------|------------|--------|--------|---------|
|
|
742
|
+
| [YYYY-MM-DD] | [model-native/connection/context-rot/context-pressure/tool-failure/plan-conformity] | [signal] | [action] | [result] |
|
|
743
|
+
|
|
744
|
+
---
|
|
745
|
+
|
|
746
|
+
## User Preferences
|
|
747
|
+
|
|
748
|
+
**Communication style:** [concise/detailed/visual — recorded during Discovery]
|
|
749
|
+
|
|
750
|
+
---
|
|
751
|
+
|
|
752
|
+
## Review Scorecards
|
|
753
|
+
|
|
754
|
+
> Populated by `/plan-review`. Referenced by `/plan-execute` Step 2 Review Gate.
|
|
755
|
+
|
|
756
|
+
| Scorecard | Grade | Date | Notes |
|
|
757
|
+
|-----------|-------|------|-------|
|
|
758
|
+
| Prose Fidelity | [pending /plan-review] | — | — |
|
|
759
|
+
| Internal Consistency | [pending /plan-review] | — | — |
|
|
760
|
+
|
|
761
|
+
---
|
|
762
|
+
|
|
763
|
+
## Generation Scorecards
|
|
764
|
+
|
|
765
|
+
> Populated by `/plan-generate` Step 7. Provides audit trail if `/plan-review` is skipped.
|
|
766
|
+
|
|
767
|
+
| Scorecard | Grade | Date | Notes |
|
|
768
|
+
|-----------|-------|------|-------|
|
|
769
|
+
| Prose Fidelity | [pending /plan-generate] | — | — |
|
|
770
|
+
| Internal Consistency | [pending /plan-generate] | — | — |
|
|
771
|
+
|
|
772
|
+
---
|
|
773
|
+
|
|
774
|
+
## How to Resume
|
|
775
|
+
1. Read `PROGRESS.md` for current state.
|
|
776
|
+
2. Read this file's resolved decisions — do NOT re-ask.
|
|
777
|
+
3. Check "Phase Files to Update" for pending revisions.
|
|
778
|
+
```
|
|
779
|
+
|
|
780
|
+
---
|
|
781
|
+
|
|
782
|
+
### 3.6 Template: Reports (`phases/NN-kebab-topic/REPORT.md`)
|
|
783
|
+
|
|
784
|
+
> Standard format for implementation phases. Use Lightweight format for documentation-only phases.
|
|
785
|
+
|
|
786
|
+
```markdown
|
|
787
|
+
# Phase NN — [Topic] — Execution Report
|
|
788
|
+
|
|
789
|
+
**Date:** [YYYY-MM-DD] | **Phase File:** `phases/NN-kebab-topic/PHASE.md` | **Commit(s):** `[hash]`
|
|
790
|
+
|
|
791
|
+
---
|
|
792
|
+
|
|
793
|
+
## Code Changes Summary
|
|
794
|
+
|
|
795
|
+
| File | Action | Description |
|
|
796
|
+
|------|--------|-------------|
|
|
797
|
+
| `path/to/file` | Created | [what and why] |
|
|
798
|
+
|
|
799
|
+
---
|
|
800
|
+
|
|
801
|
+
## Verification Results
|
|
802
|
+
|
|
803
|
+
| ID | Check | Result | Notes |
|
|
804
|
+
|----|-------|--------|-------|
|
|
805
|
+
| V1 | [item] | ✅ PASS | [details] |
|
|
806
|
+
|
|
807
|
+
---
|
|
808
|
+
|
|
809
|
+
## Outputs Delivered
|
|
810
|
+
|
|
811
|
+
| Declared Output | Actual Path | Verified |
|
|
812
|
+
|----------------|-------------|----------|
|
|
813
|
+
| `path/to/file` | `path/to/file` | ✅ |
|
|
814
|
+
|
|
815
|
+
---
|
|
816
|
+
|
|
817
|
+
## Summary
|
|
818
|
+
|
|
819
|
+
Tasks: [X]/[Y] | Verifications: [P] PASS, [F] FAIL | Files: [N] created, [M] modified
|
|
820
|
+
|
|
821
|
+
## Key Decisions
|
|
822
|
+
|
|
823
|
+
| Decision | Options | Choice | Rationale |
|
|
824
|
+
|----------|---------|--------|-----------|
|
|
825
|
+
| [decision] | [alternatives] | [chosen] | [why] |
|
|
826
|
+
|
|
827
|
+
## Reflection
|
|
828
|
+
|
|
829
|
+
**Built:** [what and why it matters]
|
|
830
|
+
**Enables next:** [what becomes possible]
|
|
831
|
+
**Deviations from plan:** [what changed during execution and why]
|
|
832
|
+
**Would do differently:** [single improvement]
|
|
833
|
+
**Creative quality:** [Non-obvious design choices made. Assumptions inverted. Named frameworks introduced. Evidence of conceptual elegance.]
|
|
834
|
+
|
|
835
|
+
## Exit Criteria
|
|
836
|
+
- [ ] All verifications PASS
|
|
837
|
+
- [ ] No regressions
|
|
838
|
+
- [ ] Plan-internal isolation verified — zero plan references in all codebase deliverables and development artifacts
|
|
839
|
+
- [ ] Documentation updated
|
|
840
|
+
- [ ] PROGRESS.md updated
|
|
841
|
+
- [ ] Ready for Phase [NN+1]
|
|
842
|
+
```
|
|
843
|
+
|
|
844
|
+
**Lightweight format** (documentation/config-only phases):
|
|
845
|
+
|
|
846
|
+
```markdown
|
|
847
|
+
# Phase NN — [Topic] — Execution Report (Lightweight)
|
|
848
|
+
|
|
849
|
+
**Date:** [YYYY-MM-DD] | **Phase File:** `phases/NN-kebab-topic/PHASE.md` | **Commit(s):** `[hash]`
|
|
850
|
+
|
|
851
|
+
## Changes Made
|
|
852
|
+
- [Change 1]
|
|
853
|
+
|
|
854
|
+
## Exit Criteria
|
|
855
|
+
- [ ] Changes applied correctly
|
|
856
|
+
- [ ] PROGRESS.md updated
|
|
857
|
+
```
|
|
858
|
+
|
|
859
|
+
---
|
|
860
|
+
|
|
861
|
+
### 3.7 Template: `COMPLETION.md`
|
|
862
|
+
|
|
863
|
+
> Generated by the final verification phase.
|
|
864
|
+
|
|
865
|
+
```markdown
|
|
866
|
+
# [PROJECT_NAME] — Completion Report
|
|
867
|
+
|
|
868
|
+
> **Plan Suite:** `<project-root>/.apothem/plans/[REPO_NAME]-[CONTEXT]-[MISSION]/`
|
|
869
|
+
> **Repository:** `[REPOSITORY_PATH]` | **Mode:** `[NEW | OVERHAUL]`
|
|
870
|
+
> **Date:** [YYYY-MM-DD] | **Version:** v[N.M.P] | **Phases:** [N] | **Decisions:** [M]
|
|
871
|
+
|
|
872
|
+
---
|
|
873
|
+
|
|
874
|
+
## 1. What Was Built
|
|
875
|
+
[2–5 paragraph summary.]
|
|
876
|
+
|
|
877
|
+
### Feature Inventory
|
|
878
|
+
|
|
879
|
+
| Feature | Location | Status |
|
|
880
|
+
|---------|----------|--------|
|
|
881
|
+
| [feature] | `path` | ✅ Complete |
|
|
882
|
+
|
|
883
|
+
## 2. [OVERHAUL] What Changed
|
|
884
|
+
|
|
885
|
+
| Area | Before | After | Rationale |
|
|
886
|
+
|------|--------|-------|-----------|
|
|
887
|
+
| [area] | [before] | [after] | [why] |
|
|
888
|
+
|
|
889
|
+
## 3. [OVERHAUL] What Was Preserved
|
|
890
|
+
|
|
891
|
+
| Feature | Location | Notes |
|
|
892
|
+
|---------|----------|-------|
|
|
893
|
+
| [feature] | [path] | [notes] |
|
|
894
|
+
|
|
895
|
+
## 4. Quality Gate Results
|
|
896
|
+
Test suite, coverage, lint, type check, security, dead code, doc rendering, deployment smoke.
|
|
897
|
+
|
|
898
|
+
## 5. Known Issues / Technical Debt
|
|
899
|
+
|
|
900
|
+
| Item | Severity | Rationale for Deferral |
|
|
901
|
+
|------|----------|----------------------|
|
|
902
|
+
| [item] | [low/medium] | [why deferred] |
|
|
903
|
+
|
|
904
|
+
## 6. Skills Captured
|
|
905
|
+
Key skills created or evolved. **The one constraining belief overcome:** [the assumption or limitation challenged and disproved during this project]
|
|
906
|
+
|
|
907
|
+
## 7. Follow-On Recommendations
|
|
908
|
+
|
|
909
|
+
> **PUBLIC_LAUNCH only.** Omit at all other seriousness levels.
|
|
910
|
+
|
|
911
|
+
| Priority | Recommendation | Rationale | Complexity |
|
|
912
|
+
|----------|----------------|-----------|------------|
|
|
913
|
+
| [P1] | [recommendation] | [why] | [low/medium/high] |
|
|
914
|
+
|
|
915
|
+
**Single binding-constraint follow-on:** [identified]
|
|
916
|
+
|
|
917
|
+
## 8. Formal Completion
|
|
918
|
+
|
|
919
|
+
**Plan-Internal Isolation:** Confirmed — zero CM-7 forbidden terms in all protected artifacts (CLAUDE.md CM-7). Everything reads naturally as if built organically with no prior planning artifacts.
|
|
920
|
+
|
|
921
|
+
**Status: ✅ COMPLETE**
|
|
922
|
+
```
|
|
923
|
+
|
|
924
|
+
---
|
|
925
|
+
|
|
926
|
+
## 4. General Mandates
|
|
927
|
+
|
|
928
|
+
> **NON-NEGOTIABLE at the declared seriousness level.** Governance intensity scales per `CLAUDE.md` Section 4. These are the canonical definitions — referenced elsewhere as `TM-N`.
|
|
929
|
+
|
|
930
|
+
### TM-1: Zero Assumptions and Interactive Reconciliation
|
|
931
|
+
|
|
932
|
+
Use structured inquiry for ANY vagueness, contradiction, or ambiguity. Probe deeper: context, prior attempts, constraints, fears, hidden assumptions, blind spots, deadlines, communication preferences. Annotate all options with expert rationale and recommendation. Batch questions thematically. Apply decision velocity where appropriate.
|
|
933
|
+
|
|
934
|
+
### TM-2: Configuration-Driven
|
|
935
|
+
|
|
936
|
+
All values configurable — config files, env vars, CLI args, dependency injection. Zero magic numbers, zero hardcoded paths, zero embedded credentials. Sensible documented defaults with full override.
|
|
937
|
+
|
|
938
|
+
### TM-3: Logical Rigor
|
|
939
|
+
|
|
940
|
+
Every choice traceable to: explicit requirement, resolved Q&A decision, or documented best-practice rationale.
|
|
941
|
+
|
|
942
|
+
### TM-4: Search Before Implement and Dependency Audit
|
|
943
|
+
|
|
944
|
+
Search existing codebase for reusable components before writing new code. Flag similar logic. After any change, audit all cross-repo dependencies immediately.
|
|
945
|
+
|
|
946
|
+
### TM-5: Clean Architecture
|
|
947
|
+
|
|
948
|
+
No redundancies, mixed concerns, stale deps, circular deps, god objects, leaky abstractions. DDD, SOLID, DRY, KISS, YAGNI, separation of concerns. Restructure only when genuinely required for correctness, maintainability, performance, or security — not for aesthetics. **Extended by TM-28** (Clean Architecture Layer Discipline) with explicit Domain/Application/Infrastructure/Presentation layer definitions and enforcement.
|
|
949
|
+
|
|
950
|
+
### TM-6: Guider Updates
|
|
951
|
+
|
|
952
|
+
Keep guider files (CLAUDE.md, site/content/docs/architecture/agents.mdx, ARCHITECTURE.md, etc.) as living documents. Review after every change. Cover architecture, conventions, standards, features, mandates. Scope scales with seriousness.
|
|
953
|
+
|
|
954
|
+
### TM-7: Best Possible Solution
|
|
955
|
+
|
|
956
|
+
Expert-grade implementation. Explain why chosen approach is superior. Identify the single binding constraint (CM-8: bottleneck-first). For non-trivial changes: "Is there a more elegant way?" — elegance = minimal complexity for maximum clarity.
|
|
957
|
+
|
|
958
|
+
### TM-8: Quality Gates and Repository Sync
|
|
959
|
+
|
|
960
|
+
Quality gates at every phase: linting, formatting, type checking, testing, security scanning, dead-code detection. Final extensive sanity check at project end. All artifacts publication-ready at all times: README, ARCHITECTURE, release notes, docs, tests, examples, CI/CD. Scope scales with seriousness level.
|
|
961
|
+
|
|
962
|
+
### TM-9: Preserve Nuances
|
|
963
|
+
|
|
964
|
+
[OVERHAUL mode] Maintain all original intentions — explicit and inferred. Ask via the structured-inquiry channel if ambiguous. User's suggested workarounds are hints, not mandates — replace with better solutions when warranted. Communicate deviations.
|
|
965
|
+
|
|
966
|
+
### TM-10: Critical Evaluation
|
|
967
|
+
|
|
968
|
+
Never obey blindly. Identify root causes the user can't see. Challenge assumptions. Suggest superior alternatives. Push back on suboptimal paths. Decision velocity guidance.
|
|
969
|
+
|
|
970
|
+
### TM-11: Coherent Product
|
|
971
|
+
|
|
972
|
+
Every deliverable: complete, working, publication-ready. Not scaffolding. Add the details that separate "works" from "finished": logging, health checks, graceful shutdown, config validation, meaningful errors. **Plan-internal isolation:** enforce CM-7 forbidden-terms and protected-artifacts lists (canonical definition in CLAUDE.md CM-7). The codebase must stand entirely on its own as if no plan ever existed.
|
|
973
|
+
|
|
974
|
+
### TM-12: Phase Architecture
|
|
975
|
+
|
|
976
|
+
Plan split into independently-promptable phase files with shared preamble (`PREAMBLE.md` prepended to every phase). Each phase self-contained and executable as a single prompt with preamble context. Sub-phases when a phase exceeds manageability thresholds (TM-13).
|
|
977
|
+
|
|
978
|
+
### TM-13: Phase Manageability — Hard Constraints
|
|
979
|
+
|
|
980
|
+
- **>10 tasks** → MUST split by logical grouping
|
|
981
|
+
- **>5 unrelated files/modules** → MUST split by concern
|
|
982
|
+
- **>2000 tokens dense instruction** → MUST split
|
|
983
|
+
- **Mixed concerns** → MUST split
|
|
984
|
+
|
|
985
|
+
Phases approaching thresholds must document justification.
|
|
986
|
+
|
|
987
|
+
### TM-14: Granular Commits
|
|
988
|
+
|
|
989
|
+
> **Summary of:** CM-13 (CLAUDE.md Section 6), which is the full specification with sub-mandates CM-13A, CM-13B, and CM-13C.
|
|
990
|
+
|
|
991
|
+
Per-task codebase commits at SHARED+. Per-phase at PERSONAL_USE. Optional at EXPLORING. Conventional commits in natural domain terms — CM-7 plan-internal isolation applies to all git artifacts. Plan-suite files managed at user discretion. End-of-phase commit gate (CM-13C): verify ALL codebase changes committed before writing phase report — no uncommitted codebase modifications may cross phase boundaries. At PUBLIC_LAUNCH: GPG-signed commits (`git commit -S`) required — verify signing key configured before first commit; if absent, warn user and document as a blocker.
|
|
992
|
+
|
|
993
|
+
### TM-15: Context Stewardship
|
|
994
|
+
|
|
995
|
+
> **Canonical specification:** `rules/context-management.md` (CM-24). CM-12 is a summary.
|
|
996
|
+
|
|
997
|
+
Always-on context health management: health monitoring, proactive externalization, compaction discipline, long-conversation resilience, graceful degradation, blind execution protocol, context budget discipline, and error classification. See CM-24 rule for full protocol, triggers, and anti-patterns.
|
|
998
|
+
|
|
999
|
+
### TM-16: Autonomous Execution
|
|
1000
|
+
|
|
1001
|
+
During continuous execution (Phase 01→NN): full-suite `/plan-execute` defaults to continuous advancement — Phase N completion triggers Phase N+1 after Phase Exit Protocol, compaction, and Blind Bootstrap. Granular pause modes remain explicit opt-ins recorded in the Resumption Contract. Only BLOCKED phases halt. Final phase generates COMPLETION.md. Single-phase invocations (explicit phase number provided) execute only the specified phase, regardless of seriousness level.
|
|
1002
|
+
|
|
1003
|
+
### TM-17: Agent Teams
|
|
1004
|
+
|
|
1005
|
+
> **Canonical specification:** `rules/agent-orchestration.md` (CM-25).
|
|
1006
|
+
|
|
1007
|
+
Deploy as primary mechanism for parallelizable work. Six canonical patterns (Research, Audit, Implementation, Generation, Quality, Documentation). Return contract enforcement. Required at SHARED+, encouraged at PERSONAL_USE, optional at EXPLORING. See CM-25 rule for deployment criteria, launch protocol, and error handling.
|
|
1008
|
+
|
|
1009
|
+
| Team | Specialization | Examples |
|
|
1010
|
+
| ------ | --------------- | --------- |
|
|
1011
|
+
| Architecture | System design, API contracts | Design review, schema design |
|
|
1012
|
+
| Backend | APIs, databases, services | Endpoints, queries, middleware |
|
|
1013
|
+
| Frontend | UI/UX, components | State management, responsive design |
|
|
1014
|
+
| Data/ML | Pipelines, models, optimization | ETL, training, feature engineering |
|
|
1015
|
+
| DevOps | CI/CD, deployment, monitoring | Pipelines, containers, cloud |
|
|
1016
|
+
| Security | Vulnerability, access control | Audits, secrets management |
|
|
1017
|
+
| Testing/QA | Strategy, coverage, automation | Test suites, benchmarking |
|
|
1018
|
+
| Documentation | Tech writing, API docs | README, guides, release notes |
|
|
1019
|
+
|
|
1020
|
+
### TM-18: Error Recovery
|
|
1021
|
+
|
|
1022
|
+
Classify, recover, log. Six plan-execution error classes: model-native (retry 3x), connection (retry 3x), context rot (`/compact` + re-read), context pressure (proactive `/compact`), tool failure (diagnose + fix), plan conformity (document + update). Recovery Log in PLAN-NOTES.md. Escalate after 3 failures. For general-purpose error classification outside plan execution, see CM-24 §8.
|
|
1023
|
+
|
|
1024
|
+
### TM-19: Pipeline Orchestration
|
|
1025
|
+
|
|
1026
|
+
`/plan-spec` → [user approval] → `/plan-generate` → [user approval] → `/plan-review` → [`/plan-audit` when the suite needs closed-loop remediation or zero-finding attestation] → [user approval] → `/plan-execute` (01→NN). Each skill recommends next. User gates respected. `/plan-status` = read-only checkpoint. After final `/plan-execute` phase, recommend `/plan-status --verbose` for health assessment.
|
|
1027
|
+
|
|
1028
|
+
### TM-20: Manual Approval
|
|
1029
|
+
|
|
1030
|
+
STOP before applying changes to plan files. Invoke the structured-inquiry channel to solicit user review and approval (canonical channel per `rules/interactive-questions.md`).
|
|
1031
|
+
|
|
1032
|
+
### TM-21: Final Sweep
|
|
1033
|
+
|
|
1034
|
+
After finalizing Q&A: Prose Fidelity Scorecard (CM-11A) + Internal Consistency Scorecard (CM-11B) + Appendix checklist. FAIL blocks execution at SHARED+.
|
|
1035
|
+
|
|
1036
|
+
### TM-22: Creative Architecture
|
|
1037
|
+
|
|
1038
|
+
> **Canonical specification:** `rules/cognitive-identity.md` and CLAUDE.md Section 2 (pointer).
|
|
1039
|
+
|
|
1040
|
+
Apply the Five Cognitive Filters (cognitive identity rule, Section 2) to all substantive outputs — recommendations, architectural decisions, strategic analyzes, design rationales. Seriousness scaling per cognitive identity rule, Section 2: Filters 1+5 always active; Filters 2–4 for non-trivial decisions at PERSONAL_USE; all five at SHARED+; all five plus ideation techniques at PUBLIC_LAUNCH. Language standards (cognitive identity rule, Section 4) govern all outputs: no forbidden phrases, all five required qualities present. At least one structurally novel element — a framing, inversion, combination, or insight that is genuinely non-obvious — must be present in every substantive output. Originality is a quality gate, not a decorative layer.
|
|
1041
|
+
|
|
1042
|
+
### TM-23: Persistent Conventions Vigilance
|
|
1043
|
+
|
|
1044
|
+
> **Canonical specification:** `rules/persistent-conventions-vigilance.md` and CM-22.
|
|
1045
|
+
|
|
1046
|
+
Always-on. See rule file for full specification — naming conventions, directory structure, proactive evolution, ecosystem coherence, and gap detection.
|
|
1047
|
+
|
|
1048
|
+
### TM-24: Large File Generation
|
|
1049
|
+
|
|
1050
|
+
> **Canonical specification:** `rules/large-file-generation.md` and CM-23.
|
|
1051
|
+
|
|
1052
|
+
Path-filtered. See rule file for full specification — size assessment, incremental generation protocol, coherence guarantees, completion verification, and failure recovery.
|
|
1053
|
+
|
|
1054
|
+
### TM-25: Context Management and Conversation-Independent Execution
|
|
1055
|
+
|
|
1056
|
+
> **Canonical specification:** `rules/context-management.md` and CM-24. Supplements TM-15.
|
|
1057
|
+
|
|
1058
|
+
Always-on. See rule file for full specification — health monitoring, externalization protocol (CM-24 §2), Blind Execution Protocol (CM-24 §6), context budget discipline (CM-24 §7), long-conversation resilience, and graceful degradation.
|
|
1059
|
+
|
|
1060
|
+
### TM-26: Agent and Agent Team Orchestration
|
|
1061
|
+
|
|
1062
|
+
> **Canonical specification:** `rules/agent-orchestration.md` and CM-25. Supplements TM-17.
|
|
1063
|
+
|
|
1064
|
+
Always-on. See rule file for full specification — team patterns (CM-25A), deployment criteria, launch protocol, return contracts, isolation, and error handling.
|
|
1065
|
+
|
|
1066
|
+
### TM-27: Auto Memory Lifecycle
|
|
1067
|
+
|
|
1068
|
+
> **Canonical specification:** `rules/auto-memory.md` and CM-26.
|
|
1069
|
+
|
|
1070
|
+
Always-on. See rule file for full specification — memory organization, read/write discipline, hygiene, and state distinction.
|
|
1071
|
+
|
|
1072
|
+
### TM-28: Clean Architecture Layer Discipline
|
|
1073
|
+
|
|
1074
|
+
> **Canonical specification:** `rules/clean-architecture-layers.md` and CM-27. Extends TM-5.
|
|
1075
|
+
|
|
1076
|
+
See rule file for full specification — four-layer separation, dependency rules, testing implications, applicability criteria, and directory patterns.
|
|
1077
|
+
|
|
1078
|
+
---
|
|
1079
|
+
|
|
1080
|
+
## 5. Execution Framework
|
|
1081
|
+
|
|
1082
|
+
### 5.1 Plan Mode Default
|
|
1083
|
+
|
|
1084
|
+
Enter plan mode for non-trivial tasks (3+ steps, architectural decisions, multi-file changes). Write specs upfront. If something goes sideways, STOP and re-plan.
|
|
1085
|
+
|
|
1086
|
+
### 5.2 Execution Order
|
|
1087
|
+
|
|
1088
|
+
Phases execute per dependency graph. Archetypal order: Foundation → Core Architecture → Core Implementation → Integration → Polish → Docs → Final Verification. Within a phase containing sub-phases, execute sub-phases sequentially (alphabetical) unless the dependency graph marks them as parallelizable (see §2.4).
|
|
1089
|
+
|
|
1090
|
+
### 5.3 Parallelization Playbook
|
|
1091
|
+
|
|
1092
|
+
When phases share no dependencies: launch one agent per phase, each with Preamble + phase file (`phases/NN-topic/PHASE.md`). Coordinator monitors, integrates, resolves conflicts, runs quality gates on combined result. Sub-phases marked parallelizable in the dependency graph follow the same pattern: one agent per sub-phase, each with Preamble + sub-phase file.
|
|
1093
|
+
|
|
1094
|
+
### 5.4 Recovery & Continuity
|
|
1095
|
+
|
|
1096
|
+
Prevention > recovery. Externalize state continuously. Four common scenarios with resolution:
|
|
1097
|
+
|
|
1098
|
+
1. **Context rot mid-session** (→TM-18 classes 3/4) — Session End Protocol, new session, re-read Preamble + PROGRESS.md + target phase.
|
|
1099
|
+
2. **Partial completion after crash** (→TM-18 class 5) — Resume from PROGRESS.md Resumption Contract. Identify exact pause point. Continue from last committed task.
|
|
1100
|
+
3. **Broken codebase needing rollback** (→TM-18 class 6) — `git log` to find last passing commit, `git revert` or `git reset`, re-run quality gates, update PROGRESS.md.
|
|
1101
|
+
4. **Parallel agent conflict** (→TM-18 class 6) — Coordinator detects conflicting outputs, resolves via merge strategy, re-runs quality gates on combined result.
|
|
1102
|
+
|
|
1103
|
+
### 5.5 Task Management
|
|
1104
|
+
|
|
1105
|
+
Six steps for every task: **(1)** Plan first — write plan with checkable items, offload research. **(2)** Verify plan — check with user, confirm prerequisites, review resolved decisions. **(3)** Track progress — update PROGRESS.md as you go, one metric that matters. **(4)** Explain changes — purpose before mechanics, simplest framing first. **(5)** Document results — execution report, verification results, update docs. **(6)** Capture skills — what went wrong, root cause, hidden assumption, prevention procedure (→Section 5.6).
|
|
1106
|
+
|
|
1107
|
+
### 5.6 Self-Improvement Loop
|
|
1108
|
+
|
|
1109
|
+
After corrections: create or evolve skills per CLAUDE.md Section 7.6 (Artifact Evolution). Review at session start. Consistency compounding: one skill, applied every time, compounds massively.
|
|
1110
|
+
|
|
1111
|
+
---
|
|
1112
|
+
|
|
1113
|
+
## 6. Core Principles
|
|
1114
|
+
|
|
1115
|
+
> **27 principles forming the philosophical foundation.** Applied across all phases. Principles that overlap with mandates (Section 4) are listed with "→TM-N" references rather than restated. Creative architecture principles (cognitive identity rule, Section 5) are integrated directly.
|
|
1116
|
+
|
|
1117
|
+
### Engineering Excellence
|
|
1118
|
+
|
|
1119
|
+
1. **Simplicity First (CP-1)** — minimum complexity for the task. No over-engineering.
|
|
1120
|
+
2. **No Laziness (CP-2)** — root causes, not band-aids. Staff-level standards.
|
|
1121
|
+
3. **Minimal Impact (CP-3)** — touch only what's necessary. No unintended side effects.
|
|
1122
|
+
4. **Verification (CP-4)** — prove it works before declaring done. (→TM-8)
|
|
1123
|
+
|
|
1124
|
+
### Autonomy & Collaboration
|
|
1125
|
+
|
|
1126
|
+
1. **Autonomy (CP-5)** — take ownership. Fix bugs without hand-holding.
|
|
1127
|
+
2. **Collaboration (CP-6)** — coordinate teams. Transparent communication. (→TM-17)
|
|
1128
|
+
|
|
1129
|
+
### Planning & Process
|
|
1130
|
+
|
|
1131
|
+
1. **Comprehensive Planning (CP-7)** — detailed, independently-promptable, first-result-early. (→TM-12)
|
|
1132
|
+
2. **Adaptive Iteration (CP-8)** — plans are living documents. Re-plan when approaches fail. Reassess at each point. Decision velocity.
|
|
1133
|
+
3. **Plan Integrity (CP-9)** — prose fidelity + internal consistency. Bidirectional traceability. Quantitative scorecards. (Canonical spec: CM-11.)
|
|
1134
|
+
4. **Focus on Outcomes (CP-10)** — one most important thing. One metric.
|
|
1135
|
+
5. **Risk Management (CP-11)** — top 3 failure risks. Risk-reward lens. Robust under uncertainty. Apply **Failure Is A Design Material**: actively imagine how the idea could fail, then use those failure modes as design inputs. The most robust innovations were stress-tested against their own worst-case scenarios during conception.
|
|
1136
|
+
|
|
1137
|
+
### Architecture & Design
|
|
1138
|
+
|
|
1139
|
+
1. **Scalability & Maintainability (CP-12)** — design for growth while keeping current complexity minimal.
|
|
1140
|
+
2. **User-Centric Design (CP-13)** — intuitive, accessible, performant, reliable.
|
|
1141
|
+
3. **Data Integrity (CP-14)** — transactional consistency, idempotency, validation at system boundaries.
|
|
1142
|
+
|
|
1143
|
+
### Quality & Security
|
|
1144
|
+
|
|
1145
|
+
1. **Performance (CP-15)** — profile before optimizing. Benchmark critical paths. Establish performance budgets.
|
|
1146
|
+
2. **Security (CP-16)** — OWASP top 10, least privilege, dependency scanning, secrets management.
|
|
1147
|
+
3. **Testing (CP-17)** — unit, integration, E2E, property-based, performance, security, smoke, contract.
|
|
1148
|
+
4. **CI/CD (CP-18)** — automated testing, gates, deployment, monitoring, IaC.
|
|
1149
|
+
5. **Observability (CP-19)** — structured logging, metrics, tracing, health endpoints. Runtime visibility by design.
|
|
1150
|
+
|
|
1151
|
+
### Creative & Meta-Principles
|
|
1152
|
+
|
|
1153
|
+
1. **Continuous Learning (CP-20)** — skill folders in `skills/` (each with `SKILL.md` + YAML frontmatter). Consistency compounding. Review at session start. (→Section 5.6)
|
|
1154
|
+
2. **Documentation (CP-21)** — first-class deliverable. Purpose-grounded. Layered explanations. Named frameworks where concepts need to travel.
|
|
1155
|
+
3. **Ethical Considerations (CP-22)** — privacy, fairness, accessibility, broader implications.
|
|
1156
|
+
4. **Adaptability (CP-23)** — hold plans loosely. Distinguish setbacks from direction problems. Apply **The Non-Adjacent Possible**: Stuart Kauffman's "adjacent possible" is a trap — your target is two or three conceptual leaps beyond the current state, not one. Build the bridges as you go.
|
|
1157
|
+
5. **Continuous Improvement (CP-24)** — identify single biggest inefficiency. One focused fix. Apply **Steal Like An Ecosystem**: draw from any domain, discipline, era, culture, or medium. Stealing from one source is plagiarism. Stealing from a hundred sources is a new theory. Recombination at sufficient scale becomes original creation.
|
|
1158
|
+
6. **Technical Debt Management (CP-25)** — explicit tracking of intentional shortcuts. Record in PLAN-NOTES.md or Future Extensions. Pay down before debt compounds.
|
|
1159
|
+
7. **Difficulty Is Data (CP-26)** — if an idea is hard to explain, that signals proximity to the edge of existing conceptual vocabulary. Press forward. Invent the vocabulary. Difficulty of articulation is evidence of genuine novelty, not a flaw.
|
|
1160
|
+
8. **The Prototype Ethic (CP-27)** — every idea is a working prototype, not a finished proposal. Build it, test it, break it, iterate. This keeps ideas honest and prevents premature attachment to untested abstractions.
|
|
1161
|
+
|
|
1162
|
+
---
|
|
1163
|
+
|
|
1164
|
+
## 7. Agent Skills Registry
|
|
1165
|
+
|
|
1166
|
+
| Skill | Command | Steps | Codebase Commits |
|
|
1167
|
+
| ------- | --------- | ------- | ------------------ |
|
|
1168
|
+
| Plan Generate | `/plan-generate` | 9: Dry-Run → Ingest → Discovery → Folder → Infrastructure → Phases → Sweep → Skills → Present | None |
|
|
1169
|
+
| Plan Review | `/plan-review` | 12: Load → Prose Audit → Consistency Audit → Gaps → Risk → Synthesis → Q&A → Propose → STOP → Apply → Verify → Skills+Handoff | None |
|
|
1170
|
+
| Plan Execute | `/plan-execute` | 10: Load → Conformity → Tasks → Quality → Maintenance → Verify → Report → PhaseExit → Skills → Transition | Per-task |
|
|
1171
|
+
| Plan Status | `/plan-status` | 7: Load → Report → Breakdown → Visualization → Blockers → Recommendations → Consistency (--verbose) | None (read-only) |
|
|
1172
|
+
| Plan Prose | `/plan-spec` | 7: Ingest → Signal Extraction → Interrogation → Crystallization → Verification → Handoff → Artifacts | None |
|
|
1173
|
+
|
|
1174
|
+
> **Creative Architecture (TM-22/CM-21)** applies across all skills per seriousness scaling. Cognitive Filters, language standards, and originality threshold are quality gates, not decorative layers.
|
|
1175
|
+
>
|
|
1176
|
+
> **Always-on mandates (TM-23/CM-22, TM-25–TM-27/CM-24–CM-26). Path-filtered: TM-24/CM-23, TM-28/CM-27, CM-28.** See `rules/` for full specifications. These rules apply across all skills and ad-hoc interactions (always-on are loaded into every context; path-filtered activate on matching file paths).
|
|
1177
|
+
|
|
1178
|
+
---
|
|
1179
|
+
|
|
1180
|
+
## 8. Usage Instructions
|
|
1181
|
+
|
|
1182
|
+
### 8.1 Quick Start
|
|
1183
|
+
|
|
1184
|
+
1. **Prepare prose** — write requirements in markdown or provide interactively.
|
|
1185
|
+
2. **Invoke** — use `/plan-generate` or fill in the template header + `[PROSE_BODY_GOES_HERE]`.
|
|
1186
|
+
3. **Discovery** — answer structured inquiry batches thoroughly.
|
|
1187
|
+
4. **Review** — check generated plan suite, especially Preamble and Master Plan.
|
|
1188
|
+
5. **Iterate** — `/plan-review` to refine.
|
|
1189
|
+
6. **Execute** — `/plan-execute` for individual phases, or continuous execution for full suite.
|
|
1190
|
+
7. **Monitor** — `/plan-status` at any time.
|
|
1191
|
+
|
|
1192
|
+
### 8.2 Recovering from Context Rot
|
|
1193
|
+
|
|
1194
|
+
Start a new session. The Blind Bootstrap Protocol (CM-24 §6) ensures zero-loss recovery:
|
|
1195
|
+
|
|
1196
|
+
1. **Read PROGRESS.md Resumption Contract** — contains exact pickup point, convention anchors, active decisions, and critical files manifest.
|
|
1197
|
+
2. **Read critical files in listed order** — the manifest tells you exactly what to load.
|
|
1198
|
+
3. **Validate Phase Output Registry** — confirm prerequisite outputs exist.
|
|
1199
|
+
4. **Continue from next action** — the Resumption Contract specifies the precise imperative.
|
|
1200
|
+
|
|
1201
|
+
No prior conversation history is needed. If the Resumption Contract is incomplete, read PREAMBLE.md + PLAN-NOTES.md § Resolved Decisions + target phase file as fallback.
|
|
1202
|
+
|
|
1203
|
+
### 8.3 Manual Phase Prompting
|
|
1204
|
+
|
|
1205
|
+
Copy `PREAMBLE.md` contents, append target phase file (`phases/NN-topic/PHASE.md`), submit as single prompt. After completion, update PROGRESS.md and write report to phase folder (`phases/NN-topic/REPORT.md`).
|
|
1206
|
+
|
|
1207
|
+
### 8.4 Parallelizing Phases
|
|
1208
|
+
|
|
1209
|
+
Launch one agent per parallelizable phase (each with Preamble + phase file from `phases/NN-topic/PHASE.md`). Monitor, integrate, resolve conflicts, update PROGRESS.md.
|
|
1210
|
+
|
|
1211
|
+
---
|
|
1212
|
+
|
|
1213
|
+
## 9. Appendix: Plan Suite Completeness Checklist
|
|
1214
|
+
|
|
1215
|
+
**A. Infrastructure:**
|
|
1216
|
+
|
|
1217
|
+
- [ ] All mandatory files exist (Preamble, Master Plan, PROGRESS, PLAN-NOTES, `phases/` directory with phase folders)
|
|
1218
|
+
- [ ] Phase folders follow canonical structure (`phases/NN-topic/PHASE.md` + optional `REPORT.md`)
|
|
1219
|
+
- [ ] Sequential numbering, NNA sub-phase folder convention (nested inside parent)
|
|
1220
|
+
- [ ] Session protocols included
|
|
1221
|
+
|
|
1222
|
+
**B. Prose Fidelity:**
|
|
1223
|
+
|
|
1224
|
+
- [ ] Forward traceability: every requirement → phase task
|
|
1225
|
+
- [ ] Reverse traceability: every task → prose basis or justification
|
|
1226
|
+
- [ ] Thresholds preserved verbatim, examples expanded, negatives captured
|
|
1227
|
+
- [ ] Emphasis proportionally matches prose
|
|
1228
|
+
- [ ] Prose Fidelity Scorecard produced (at SHARED+)
|
|
1229
|
+
|
|
1230
|
+
**C. Internal Consistency:**
|
|
1231
|
+
|
|
1232
|
+
- [ ] Decisions consistent across all files
|
|
1233
|
+
- [ ] Dependencies acyclic, all inputs are explicit outputs
|
|
1234
|
+
- [ ] Naming uniform, interface contracts match
|
|
1235
|
+
- [ ] Preamble mandates honored (not just declared)
|
|
1236
|
+
- [ ] Phase Index matches `phases/` directory contents
|
|
1237
|
+
- [ ] Phases read coherently in execution order
|
|
1238
|
+
- [ ] Plan-internal isolation readiness verified — task descriptions, acceptance criteria, and scope statements use domain language that won't leak plan references during execution (CM-7)
|
|
1239
|
+
- [ ] Internal Consistency Scorecard produced (at SHARED+)
|
|
1240
|
+
|
|
1241
|
+
**D. Quality:**
|
|
1242
|
+
|
|
1243
|
+
- [ ] No phase exceeds hard constraints (TM-13)
|
|
1244
|
+
- [ ] Parallelization opportunities identified
|
|
1245
|
+
- [ ] Final phase is E2E verification
|
|
1246
|
+
- [ ] Each phase independently-promptable
|
|
1247
|
+
- [ ] Phase 1 delivers first tangible result early
|
|
1248
|
+
- [ ] Domain bundles selected (Section 11)
|
|
1249
|
+
|
|
1250
|
+
**E. Revision Integrity (after `/plan-review`):**
|
|
1251
|
+
|
|
1252
|
+
- [ ] Post-revision scores ≥ pre-revision
|
|
1253
|
+
- [ ] Revision Impact Maps produced
|
|
1254
|
+
- [ ] No new inconsistencies introduced
|
|
1255
|
+
- [ ] Plan version bumped per Step 10.2 classification (MAJOR / MINOR / PATCH)
|
|
1256
|
+
- [ ] Revision History row appended with correct classification
|
|
1257
|
+
|
|
1258
|
+
---
|
|
1259
|
+
|
|
1260
|
+
## 10. Appendix: Definition of Done
|
|
1261
|
+
|
|
1262
|
+
> **Relationship to Preamble Section 8:** The Per-Phase Completion Checklist (Preamble Section 8) IS the Definition of Done applied at the phase level. Preamble Section 8 is the actionable checklist; this section provides the summary principle.
|
|
1263
|
+
|
|
1264
|
+
A deliverable is **done** when ALL items in the Per-Phase Completion Checklist (Section 8) are satisfied. The overriding standard: **a staff engineer would approve this work.**
|
|
1265
|
+
|
|
1266
|
+
---
|
|
1267
|
+
|
|
1268
|
+
## 11. Appendix: Domain-Specific Standard Bundles
|
|
1269
|
+
|
|
1270
|
+
> **Optional supplements** to Preamble Sections 3 and 5. Select bundles matching your domain. Mix for hybrid projects.
|
|
1271
|
+
|
|
1272
|
+
### Bundle A: Python / ML / Data Science
|
|
1273
|
+
|
|
1274
|
+
- **Tooling:** Python ≥ 3.11, mypy strict, uv, Pydantic v2, ruff
|
|
1275
|
+
- **Standards:** Google docstrings, pytest >90% coverage, seeded RNG
|
|
1276
|
+
- **Patterns:** Repository pattern, service layer, experiment tracking, data versioning
|
|
1277
|
+
- **Testing:** Hypothesis for property-based, fixtures for data pipelines
|
|
1278
|
+
|
|
1279
|
+
### Bundle B: Node.js / TypeScript / Web
|
|
1280
|
+
|
|
1281
|
+
- **Tooling:** Node 20+ LTS, TypeScript strict, Zod, Prisma/Drizzle, ESLint + Prettier
|
|
1282
|
+
- **Standards:** OpenAPI 3.1, dotenv + validated config, vitest/jest
|
|
1283
|
+
- **Patterns:** Domain-driven modules, middleware chains, SSR/SSG where applicable
|
|
1284
|
+
- **Testing:** Playwright/Cypress for E2E, MSW for API mocking
|
|
1285
|
+
|
|
1286
|
+
### Bundle C: Distributed Systems / Cloud
|
|
1287
|
+
|
|
1288
|
+
- **Tooling:** Protobuf/gRPC, structured logging with correlation IDs, IaC (Terraform/Pulumi)
|
|
1289
|
+
- **Standards:** Circuit breakers, health checks, container-first, observability stack
|
|
1290
|
+
- **Patterns:** Event-driven, saga pattern, CQRS, bulkhead isolation
|
|
1291
|
+
- **Testing:** Contract tests, chaos engineering, load testing
|
|
1292
|
+
|
|
1293
|
+
### Bundle D: Embedded / IoT / Edge
|
|
1294
|
+
|
|
1295
|
+
- **Tooling:** Cross-compilation toolchains, RTOS SDKs, OTA update frameworks
|
|
1296
|
+
- **Standards:** Memory budgets, power budgets, real-time constraints, offline-first
|
|
1297
|
+
- **Patterns:** State machines, ring buffers, watchdog timers, graceful degradation
|
|
1298
|
+
- **Testing:** Hardware-in-the-loop, simulation, fuzz testing
|
|
1299
|
+
|
|
1300
|
+
### Bundle E: Research / Academic
|
|
1301
|
+
|
|
1302
|
+
- **Tooling:** LaTeX/Pandoc, BibTeX, Jupyter, automated experiment pipelines
|
|
1303
|
+
- **Standards:** Full reproducibility, statistical significance, publication-ready figures
|
|
1304
|
+
- **Patterns:** Experiment registries, hyperparameter tracking, data archival
|
|
1305
|
+
- **Testing:** Reproducibility verification, ablation studies
|
|
1306
|
+
|
|
1307
|
+
### Bundle F: Data Engineering / ETL / Analytics
|
|
1308
|
+
|
|
1309
|
+
- **Tooling:** Spark/Polars/DuckDB, dbt, Great Expectations/Pandera, Airflow/Prefect/Dagster
|
|
1310
|
+
- **Standards:** Delta Lake/Iceberg, schema registry, data lineage
|
|
1311
|
+
- **Patterns:** Medallion architecture, slowly-changing dimensions, idempotent pipelines
|
|
1312
|
+
- **Testing:** Data quality assertions, pipeline replay testing
|
|
1313
|
+
|
|
1314
|
+
### Bundle G: CLI / Developer Tooling
|
|
1315
|
+
|
|
1316
|
+
- **Tooling:** Language-appropriate CLI frameworks (Click, Commander, Cobra)
|
|
1317
|
+
- **Standards:** POSIX conventions, exit codes, stdin/stdout piping, cross-platform paths
|
|
1318
|
+
- **Patterns:** Subcommand architecture, progressive disclosure, shell completions
|
|
1319
|
+
- **Testing:** Snapshot testing for output, integration tests for workflows
|
|
1320
|
+
|
|
1321
|
+
---
|
|
1322
|
+
|
|
1323
|
+
> **End of Master Plan Suite Template — v0.1.0**
|
|
1324
|
+
> Generated with care by Apothem, your Technical Co-Founder and Cognitive Insurgent.
|