agentscaffold 0.2.2__tar.gz → 0.2.4__tar.gz

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.
Files changed (208) hide show
  1. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/PKG-INFO +58 -8
  2. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/README.md +57 -7
  3. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/docs/README.md +24 -0
  4. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/docs/configuration.md +16 -0
  5. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/docs/creating-domain-packs.md +21 -2
  6. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/docs/domain-packs.md +24 -4
  7. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/docs/getting-started.md +59 -2
  8. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/docs/platform-integration.md +45 -0
  9. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/docs/user-guide.md +69 -0
  10. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/pyproject.toml +1 -1
  11. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/cli.py +8 -6
  12. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/config.py +13 -0
  13. agentscaffold-0.2.4/src/agentscaffold/domain_packs/__init__.py +1 -0
  14. {agentscaffold-0.2.2/src/agentscaffold/domain → agentscaffold-0.2.4/src/agentscaffold/domain_packs}/registry.py +1 -1
  15. agentscaffold-0.2.4/src/agentscaffold/mcp/freshness.py +278 -0
  16. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/mcp/server.py +55 -3
  17. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/core/plan_template.md.j2 +1 -1
  18. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/scaffold_yaml.yaml.j2 +6 -0
  19. agentscaffold-0.2.2/src/agentscaffold/validate/__init__.py +0 -0
  20. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/.gitignore +0 -0
  21. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/LICENSE +0 -0
  22. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/docs/ci-integration.md +0 -0
  23. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/docs/importing-conversations.md +0 -0
  24. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/docs/semi-autonomous-guide.md +0 -0
  25. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/__init__.py +0 -0
  26. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/agents/__init__.py +0 -0
  27. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/agents/claude.py +0 -0
  28. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/agents/cursor.py +0 -0
  29. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/agents/generate.py +0 -0
  30. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/agents/prompt.py +0 -0
  31. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/agents/rule_policy.py +0 -0
  32. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/agents/windsurf.py +0 -0
  33. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/ci/__init__.py +0 -0
  34. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/ci/setup.py +0 -0
  35. {agentscaffold-0.2.2/src/agentscaffold/domain → agentscaffold-0.2.4/src/agentscaffold/domain_packs}/loader.py +0 -0
  36. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/api_services/manifest.yaml +0 -0
  37. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/api_services/prompts/api_design_review.md.j2 +0 -0
  38. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/api_services/prompts/contract_testing_review.md.j2 +0 -0
  39. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/api_services/standards/backward_compatibility.md.j2 +0 -0
  40. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/api_services/standards/error_response.md.j2 +0 -0
  41. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/api_services/standards/openapi_validation.md.j2 +0 -0
  42. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/api_services/standards/rate_limiting.md.j2 +0 -0
  43. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/api_services/standards/versioning_strategy.md.j2 +0 -0
  44. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/data_engineering/manifest.yaml +0 -0
  45. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/data_engineering/prompts/data_quality_review.md.j2 +0 -0
  46. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/data_engineering/prompts/pipeline_design_review.md.j2 +0 -0
  47. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/data_engineering/standards/backfill_procedures.md.j2 +0 -0
  48. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/data_engineering/standards/data_quality.md.j2 +0 -0
  49. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/data_engineering/standards/idempotency.md.j2 +0 -0
  50. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/data_engineering/standards/schema_evolution.md.j2 +0 -0
  51. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/data_engineering/standards/sla_monitoring.md.j2 +0 -0
  52. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/embedded/manifest.yaml +0 -0
  53. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/embedded/prompts/memory_constraint_review.md.j2 +0 -0
  54. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/embedded/prompts/realtime_deadline_review.md.j2 +0 -0
  55. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/embedded/standards/interrupt_handling.md.j2 +0 -0
  56. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/embedded/standards/memory_management.md.j2 +0 -0
  57. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/embedded/standards/ota_update.md.j2 +0 -0
  58. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/embedded/standards/power_consumption.md.j2 +0 -0
  59. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/game_dev/manifest.yaml +0 -0
  60. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/game_dev/prompts/game_loop_review.md.j2 +0 -0
  61. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/game_dev/prompts/performance_profiling_review.md.j2 +0 -0
  62. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/game_dev/standards/asset_pipeline.md.j2 +0 -0
  63. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/game_dev/standards/ecs_patterns.md.j2 +0 -0
  64. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/game_dev/standards/frame_budget.md.j2 +0 -0
  65. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/game_dev/standards/state_sync.md.j2 +0 -0
  66. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/infrastructure/manifest.yaml +0 -0
  67. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/infrastructure/prompts/cost_analysis_review.md.j2 +0 -0
  68. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/infrastructure/prompts/deployment_safety_review.md.j2 +0 -0
  69. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/infrastructure/prompts/iac_review.md.j2 +0 -0
  70. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/infrastructure/security/threat_model_infrastructure.md.j2 +0 -0
  71. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/infrastructure/standards/iac_patterns.md.j2 +0 -0
  72. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/infrastructure/standards/monitoring_alerting.md.j2 +0 -0
  73. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/infrastructure/standards/rollback_procedures.md.j2 +0 -0
  74. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/infrastructure/standards/secret_management.md.j2 +0 -0
  75. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mlops/manifest.yaml +0 -0
  76. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mlops/prompts/experiment_design_review.md.j2 +0 -0
  77. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mlops/prompts/model_governance_review.md.j2 +0 -0
  78. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mlops/prompts/model_lifecycle_review.md.j2 +0 -0
  79. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mlops/standards/data_drift.md.j2 +0 -0
  80. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mlops/standards/experiment_tracking.md.j2 +0 -0
  81. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mlops/standards/feature_store.md.j2 +0 -0
  82. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mlops/standards/model_serving.md.j2 +0 -0
  83. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mlops/standards/model_versioning.md.j2 +0 -0
  84. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mobile/manifest.yaml +0 -0
  85. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mobile/prompts/app_store_compliance.md.j2 +0 -0
  86. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mobile/prompts/platform_review.md.j2 +0 -0
  87. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mobile/standards/deep_linking.md.j2 +0 -0
  88. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mobile/standards/offline_first.md.j2 +0 -0
  89. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mobile/standards/performance_profiling.md.j2 +0 -0
  90. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/mobile/standards/push_notifications.md.j2 +0 -0
  91. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/research/manifest.yaml +0 -0
  92. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/research/prompts/reproducibility_review.md.j2 +0 -0
  93. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/research/prompts/statistical_rigor_review.md.j2 +0 -0
  94. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/research/standards/citation_tracking.md.j2 +0 -0
  95. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/research/standards/data_archival.md.j2 +0 -0
  96. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/research/standards/experiment_protocol.md.j2 +0 -0
  97. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/research/standards/random_seed.md.j2 +0 -0
  98. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/trading/manifest.yaml +0 -0
  99. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/trading/prompts/quant_architect_implementation_review.md.j2 +0 -0
  100. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/trading/prompts/quant_architect_review.md.j2 +0 -0
  101. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/trading/prompts/quant_code_review.md.j2 +0 -0
  102. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/trading/prompts/strategy_review.md.j2 +0 -0
  103. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/trading/security/threat_model_live_trading.md.j2 +0 -0
  104. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/trading/standards/concurrency_patterns.md.j2 +0 -0
  105. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/trading/standards/performance_patterns.md.j2 +0 -0
  106. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/trading/standards/rl_patterns.md.j2 +0 -0
  107. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/trading/standards/rl_reward_shaping.md.j2 +0 -0
  108. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/trading/standards/traceability.md.j2 +0 -0
  109. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/webapp/manifest.yaml +0 -0
  110. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/webapp/prompts/product_design_review.md.j2 +0 -0
  111. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/webapp/standards/accessibility.md.j2 +0 -0
  112. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/webapp/standards/frontend_testing.md.j2 +0 -0
  113. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/webapp/standards/performance_budgets.md.j2 +0 -0
  114. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/domains/webapp/standards/responsive_design.md.j2 +0 -0
  115. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/__init__.py +0 -0
  116. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/calls.py +0 -0
  117. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/communities.py +0 -0
  118. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/embeddings.py +0 -0
  119. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/governance.py +0 -0
  120. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/imports.py +0 -0
  121. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/incremental.py +0 -0
  122. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/parsing.py +0 -0
  123. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/pipeline.py +0 -0
  124. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/queries.py +0 -0
  125. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/schema.py +0 -0
  126. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/search.py +0 -0
  127. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/sessions.py +0 -0
  128. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/store.py +0 -0
  129. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/structure.py +0 -0
  130. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/symbol_table.py +0 -0
  131. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/graph/verify.py +0 -0
  132. {agentscaffold-0.2.2/src/agentscaffold/domain → agentscaffold-0.2.4/src/agentscaffold/import_cmd}/__init__.py +0 -0
  133. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/import_cmd/chatgpt.py +0 -0
  134. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/import_cmd/claude.py +0 -0
  135. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/import_cmd/markdown.py +0 -0
  136. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/import_cmd/router.py +0 -0
  137. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/init_cmd.py +0 -0
  138. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/mcp/__init__.py +0 -0
  139. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/metrics/__init__.py +0 -0
  140. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/metrics/dashboard.py +0 -0
  141. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/notify/__init__.py +0 -0
  142. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/notify/sender.py +0 -0
  143. {agentscaffold-0.2.2/src/agentscaffold/import_cmd → agentscaffold-0.2.4/src/agentscaffold/plan}/__init__.py +0 -0
  144. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/plan/create.py +0 -0
  145. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/plan/lint.py +0 -0
  146. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/plan/status.py +0 -0
  147. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/rendering.py +0 -0
  148. {agentscaffold-0.2.2/src/agentscaffold/plan → agentscaffold-0.2.4/src/agentscaffold/retro}/__init__.py +0 -0
  149. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/retro/check.py +0 -0
  150. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/review/__init__.py +0 -0
  151. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/review/brief.py +0 -0
  152. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/review/challenges.py +0 -0
  153. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/review/feedback.py +0 -0
  154. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/review/gaps.py +0 -0
  155. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/review/queries.py +0 -0
  156. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/review/verify.py +0 -0
  157. {agentscaffold-0.2.2/src/agentscaffold/retro → agentscaffold-0.2.4/src/agentscaffold/spike}/__init__.py +0 -0
  158. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/spike/create.py +0 -0
  159. {agentscaffold-0.2.2/src/agentscaffold/spike → agentscaffold-0.2.4/src/agentscaffold/study}/__init__.py +0 -0
  160. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/study/create.py +0 -0
  161. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/study/lint.py +0 -0
  162. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/study/list_cmd.py +0 -0
  163. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/taskrunner/__init__.py +0 -0
  164. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/taskrunner/setup.py +0 -0
  165. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/agents/agents_md.md.j2 +0 -0
  166. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/agents/cursor_rules.md.j2 +0 -0
  167. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/ci/github_ci.yml.j2 +0 -0
  168. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/ci/github_security.yml.j2 +0 -0
  169. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/ci/github_semi_autonomous.yml.j2 +0 -0
  170. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/contracts/contract_template.md.j2 +0 -0
  171. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/contracts/contracts_readme.md.j2 +0 -0
  172. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/core/adr_template.md.j2 +0 -0
  173. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/core/plan_review_checklist.md.j2 +0 -0
  174. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/core/plan_template_bugfix.md.j2 +0 -0
  175. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/core/plan_template_refactor.md.j2 +0 -0
  176. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/core/session_summary.md.j2 +0 -0
  177. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/core/spike_template.md.j2 +0 -0
  178. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/core/study_template.md.j2 +0 -0
  179. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/pr/pull_request_template.md.j2 +0 -0
  180. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/project/architectural_design_changelog.md.j2 +0 -0
  181. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/project/collaboration_protocol.md.j2 +0 -0
  182. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/project/commands.md.j2 +0 -0
  183. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/project/product_vision.md.j2 +0 -0
  184. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/project/strategy_roadmap.md.j2 +0 -0
  185. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/project/system_architecture.md.j2 +0 -0
  186. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/prompts/plan_critique.md.j2 +0 -0
  187. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/prompts/plan_expansion.md.j2 +0 -0
  188. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/prompts/retrospective.md.j2 +0 -0
  189. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/scripts/notify_script.py.j2 +0 -0
  190. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/security/threat_model_template.md.j2 +0 -0
  191. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/standards/config.md.j2 +0 -0
  192. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/standards/errors.md.j2 +0 -0
  193. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/standards/logging.md.j2 +0 -0
  194. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/standards/testing.md.j2 +0 -0
  195. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/state/backlog.md.j2 +0 -0
  196. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/state/backlog_archive.md.j2 +0 -0
  197. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/state/learnings_tracker.md.j2 +0 -0
  198. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/state/plan_completion_log.md.j2 +0 -0
  199. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/state/workflow_state.md.j2 +0 -0
  200. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/taskrunner/justfile.j2 +0 -0
  201. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/templates/taskrunner/makefile.j2 +0 -0
  202. {agentscaffold-0.2.2/src/agentscaffold/study → agentscaffold-0.2.4/src/agentscaffold/validate}/__init__.py +0 -0
  203. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/validate/integration.py +0 -0
  204. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/validate/orchestrator.py +0 -0
  205. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/validate/prohibitions.py +0 -0
  206. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/validate/safety.py +0 -0
  207. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/src/agentscaffold/validate/secrets.py +0 -0
  208. {agentscaffold-0.2.2 → agentscaffold-0.2.4}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentscaffold
3
- Version: 0.2.2
3
+ Version: 0.2.4
4
4
  Summary: Structured AI-assisted development framework with plan lifecycle, review gates, and continuous improvement.
5
5
  Project-URL: Homepage, https://github.com/drobbster/agentscaffold
6
6
  Project-URL: Documentation, https://github.com/drobbster/agentscaffold#readme
@@ -92,7 +92,7 @@ Description-Content-Type: text/markdown
92
92
 
93
93
  **Stop paying for your AI agent to rediscover your codebase every session.**
94
94
 
95
- AgentScaffold is a governance framework and persistent knowledge graph for AI coding agents. It replaces the expensive pattern of agents reading dozens of files, grepping for symbols, and tracing dependencies from scratch -- with a single tool call that returns exactly what the agent needs.
95
+ AgentScaffold is a governance framework and persistent knowledge graph for AI coding agents. It replaces the expensive pattern of agents re-reading files, re-grepping symbols, and re-tracing dependencies from scratch -- with a single tool call that returns exactly what the agent needs.
96
96
 
97
97
  ## The Problem
98
98
 
@@ -101,10 +101,11 @@ Every time you start a new session with Cursor, Claude Code, Codex, or any AI co
101
101
  On a moderately complex codebase, a single "understand this module" task can cost **12 file reads + 2 grep searches** before the agent even starts working. A full plan review pulls in **10+ files**. Getting oriented in a new codebase means reading **38+ files**.
102
102
 
103
103
  This is the hidden cost of agentic development: not the coding, but the *context building*.
104
+ AgentScaffold addresses this by separating one-time indexing from repeated reasoning work.
104
105
 
105
106
  ## The Solution
106
107
 
107
- AgentScaffold builds a knowledge graph of your codebase -- code structure, dependencies, governance artifacts, session history -- and exposes it through MCP tools that your agent calls instead of reading raw files.
108
+ AgentScaffold builds a knowledge graph of your codebase -- code structure, dependencies, governance artifacts, and session history -- and exposes it through MCP tools that your agent calls instead of reading raw files. Instead of rebuilding context from scratch in every session, the agent retrieves scoped context in one call and moves directly into analysis or implementation.
108
109
 
109
110
  **Measured results from our latest evaluation harness run (79 scenarios, 100% pass rate):**
110
111
 
@@ -125,6 +126,8 @@ We now report two views so results are not sugar-coated:
125
126
  - **Capability efficiency (raw):** what the tools can do when selected (58% token and 91% call reduction average).
126
127
  - **Behavior-adjusted efficiency:** capability gains multiplied by tool-routing adherence proxy.
127
128
 
129
+ In real usage, adjusted values are lower because agents do not always choose tools consistently; replay-based evaluation captures that behavior directly.
130
+
128
131
  Current harness outputs:
129
132
 
130
133
  | View | Token Reduction | Call Reduction |
@@ -139,7 +142,7 @@ Every tool call your agent doesn't make is money you don't spend on API tokens o
139
142
 
140
143
  ## What It Does
141
144
 
142
- AgentScaffold combines two capabilities that don't exist together in any other tool:
145
+ AgentScaffold combines two capabilities that are rarely integrated together in a single tool:
143
146
 
144
147
  ### 1. Agent Governance Framework
145
148
 
@@ -151,7 +154,8 @@ A structured development workflow that teaches your AI agent to follow a plan li
151
154
  - **Retrospectives**: Post-execution learning that feeds back into the process
152
155
  - **Session tracking**: State files that persist context across chat sessions
153
156
 
154
- **Think of it as a virtual sprint team.** Most AI agents work alone -- they take instructions and start coding. AgentScaffold puts your agent on a team. Before it writes a single line of code, the plan faces a devil's advocate who asks "what if this breaks?", an expansion reviewer who asks "what did you miss?", and a domain expert -- a quant architect, a UX designer, a security engineer -- who pressure-tests the approach through the lens of your specific domain. These adversarial reviews catch flawed assumptions, missing edge cases, and architectural blind spots *before* they become bugs in production.
157
+ **Think of it as a virtual sprint team.** Most AI agents work alone -- they take instructions and start coding. AgentScaffold puts your agent on a team.
158
+ Before it writes a single line of code, the plan faces a devil's advocate who asks "what if this breaks?", an expansion reviewer who asks "what did you miss?", and a domain expert -- a quant architect, a UX designer, a security engineer -- who pressure-tests the approach through the lens of your specific domain. These adversarial reviews catch flawed assumptions, missing edge cases, and architectural blind spots *before* they become bugs in production.
155
159
 
156
160
  After implementation, the sprint continues. A post-implementation review verifies what was built against what was planned. A retrospective captures what worked, what didn't, and what to do differently. Those findings flow into the learnings tracker, which feeds back into the agent's rules and templates -- so the next sprint starts sharper than the last. This is the same continuous improvement loop that makes experienced engineering teams get better over time, applied to your AI agent.
157
161
 
@@ -190,6 +194,32 @@ The `init` command scaffolds your project with:
190
194
 
191
195
  The `index` command builds the knowledge graph at `.scaffold/graph.db`, enabling search, reviews, impact analysis, and session memory.
192
196
 
197
+ ### Async freshness (low-latency graph updates for MCP)
198
+
199
+ AgentScaffold supports an async freshness mode for MCP usage. Instead of blocking a tool
200
+ call to re-index, the request path runs a cheap freshness check and returns immediately.
201
+ If the graph looks stale, a background incremental refresh is scheduled (with debounce and
202
+ single-flight locking) while the agent continues working.
203
+
204
+ Why this design matters:
205
+
206
+ - Keeps MCP interactions in milliseconds/seconds instead of minutes on large repos
207
+ - Avoids duplicate refresh jobs under parallel tool usage
208
+ - Surfaces explicit freshness metadata (`fresh`, `stale`, `unknown`, `refreshing`) so
209
+ agents can reason about confidence
210
+ - Preserves strict governance by allowing gate transitions to defer when freshness is
211
+ required and not yet restored
212
+
213
+ Configure in `scaffold.yaml`:
214
+
215
+ ```yaml
216
+ freshness:
217
+ async_enabled: true
218
+ debounce_seconds: 120
219
+ gate_strict: false
220
+ background_queue_enabled: true
221
+ ```
222
+
193
223
  ### Install with language support
194
224
 
195
225
  ```bash
@@ -204,7 +234,23 @@ pip install agentscaffold[all] # Everything
204
234
 
205
235
  When you run `scaffold mcp`, these tools become available to your agent.
206
236
 
207
- You don't need to memorize tool names. AgentScaffold ships with **intent descriptions** and an **MCP-first routing policy** -- natural language trigger phrases plus fallback rules that push the agent to use MCP tools first, then allow direct reads/search if output is insufficient. Say "let's review plan 42" and the agent calls `scaffold_prepare_review`. Say "where did we leave off?" and it calls `scaffold_orient`. Run `scaffold agents cursor` (or `windsurf`, `claude`) to generate platform-specific rules that wire this up for your IDE.
237
+ #### Interaction Modes
238
+
239
+ AgentScaffold supports two complementary ways of working:
240
+
241
+ - **Natural-language + MCP (interactive)**: describe intent conversationally and let the
242
+ agent route to the right governance/graph workflow.
243
+ - **Structural CLI commands (explicit/automation)**: use direct `scaffold` commands for
244
+ deterministic setup, verification, CI, and fallback.
245
+
246
+ Teams usually get best UX with NL+MCP for day-to-day flow, then use explicit CLI commands
247
+ for verification (`scaffold validate`, `scaffold graph verify`, `scaffold index --incremental`).
248
+
249
+ If you used the governance framework before knowledge graph integration, see
250
+ [`docs/migrating-governance-to-nl-mcp.md`](docs/migrating-governance-to-nl-mcp.md)
251
+ for a command-first -> hybrid -> NL-first transition path.
252
+
253
+ You don't need to memorize tool names. AgentScaffold teaches the agent how to interpret user intent in natural conversation, map that intent to the right MCP workflow, and only fall back to direct reads/search when tool output is insufficient. Say "let's review plan 42" and the agent routes to `scaffold_prepare_review`. Say "where did we leave off?" and it routes to `scaffold_orient`. Run `scaffold agents cursor` (or `windsurf`, `claude`) to generate platform-specific rules that wire this behavior into your IDE.
208
254
 
209
255
  **Composite tools** -- single calls that replace entire multi-step workflows:
210
256
 
@@ -220,6 +266,8 @@ You don't need to memorize tool names. AgentScaffold ships with **intent descrip
220
266
  | `scaffold_find_studies` | Searching study files by topic, tags, or outcome |
221
267
  | `scaffold_find_adrs` | Searching architecture decision records by topic or status |
222
268
 
269
+ Use composite tools by default for common workflows; use granular tools when you need targeted control.
270
+
223
271
  **Granular tools** -- building blocks for custom queries:
224
272
 
225
273
  | Tool | What It Replaces |
@@ -283,9 +331,11 @@ The governance framework is domain-aware. Domain packs teach the adversarial rev
283
331
  | embedded | Memory constraints, real-time deadlines, OTA safety |
284
332
  | research | Reproducibility, statistical rigor, experiment protocol |
285
333
 
334
+ This keeps governance strict where risk is high and lightweight where speed matters, without rewriting the core framework.
335
+
286
336
  ```bash
287
- scaffold domain add trading
288
- scaffold domain add webapp
337
+ scaffold domains add trading
338
+ scaffold domains add webapp
289
339
  ```
290
340
 
291
341
  ## Documentation
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Stop paying for your AI agent to rediscover your codebase every session.**
4
4
 
5
- AgentScaffold is a governance framework and persistent knowledge graph for AI coding agents. It replaces the expensive pattern of agents reading dozens of files, grepping for symbols, and tracing dependencies from scratch -- with a single tool call that returns exactly what the agent needs.
5
+ AgentScaffold is a governance framework and persistent knowledge graph for AI coding agents. It replaces the expensive pattern of agents re-reading files, re-grepping symbols, and re-tracing dependencies from scratch -- with a single tool call that returns exactly what the agent needs.
6
6
 
7
7
  ## The Problem
8
8
 
@@ -11,10 +11,11 @@ Every time you start a new session with Cursor, Claude Code, Codex, or any AI co
11
11
  On a moderately complex codebase, a single "understand this module" task can cost **12 file reads + 2 grep searches** before the agent even starts working. A full plan review pulls in **10+ files**. Getting oriented in a new codebase means reading **38+ files**.
12
12
 
13
13
  This is the hidden cost of agentic development: not the coding, but the *context building*.
14
+ AgentScaffold addresses this by separating one-time indexing from repeated reasoning work.
14
15
 
15
16
  ## The Solution
16
17
 
17
- AgentScaffold builds a knowledge graph of your codebase -- code structure, dependencies, governance artifacts, session history -- and exposes it through MCP tools that your agent calls instead of reading raw files.
18
+ AgentScaffold builds a knowledge graph of your codebase -- code structure, dependencies, governance artifacts, and session history -- and exposes it through MCP tools that your agent calls instead of reading raw files. Instead of rebuilding context from scratch in every session, the agent retrieves scoped context in one call and moves directly into analysis or implementation.
18
19
 
19
20
  **Measured results from our latest evaluation harness run (79 scenarios, 100% pass rate):**
20
21
 
@@ -35,6 +36,8 @@ We now report two views so results are not sugar-coated:
35
36
  - **Capability efficiency (raw):** what the tools can do when selected (58% token and 91% call reduction average).
36
37
  - **Behavior-adjusted efficiency:** capability gains multiplied by tool-routing adherence proxy.
37
38
 
39
+ In real usage, adjusted values are lower because agents do not always choose tools consistently; replay-based evaluation captures that behavior directly.
40
+
38
41
  Current harness outputs:
39
42
 
40
43
  | View | Token Reduction | Call Reduction |
@@ -49,7 +52,7 @@ Every tool call your agent doesn't make is money you don't spend on API tokens o
49
52
 
50
53
  ## What It Does
51
54
 
52
- AgentScaffold combines two capabilities that don't exist together in any other tool:
55
+ AgentScaffold combines two capabilities that are rarely integrated together in a single tool:
53
56
 
54
57
  ### 1. Agent Governance Framework
55
58
 
@@ -61,7 +64,8 @@ A structured development workflow that teaches your AI agent to follow a plan li
61
64
  - **Retrospectives**: Post-execution learning that feeds back into the process
62
65
  - **Session tracking**: State files that persist context across chat sessions
63
66
 
64
- **Think of it as a virtual sprint team.** Most AI agents work alone -- they take instructions and start coding. AgentScaffold puts your agent on a team. Before it writes a single line of code, the plan faces a devil's advocate who asks "what if this breaks?", an expansion reviewer who asks "what did you miss?", and a domain expert -- a quant architect, a UX designer, a security engineer -- who pressure-tests the approach through the lens of your specific domain. These adversarial reviews catch flawed assumptions, missing edge cases, and architectural blind spots *before* they become bugs in production.
67
+ **Think of it as a virtual sprint team.** Most AI agents work alone -- they take instructions and start coding. AgentScaffold puts your agent on a team.
68
+ Before it writes a single line of code, the plan faces a devil's advocate who asks "what if this breaks?", an expansion reviewer who asks "what did you miss?", and a domain expert -- a quant architect, a UX designer, a security engineer -- who pressure-tests the approach through the lens of your specific domain. These adversarial reviews catch flawed assumptions, missing edge cases, and architectural blind spots *before* they become bugs in production.
65
69
 
66
70
  After implementation, the sprint continues. A post-implementation review verifies what was built against what was planned. A retrospective captures what worked, what didn't, and what to do differently. Those findings flow into the learnings tracker, which feeds back into the agent's rules and templates -- so the next sprint starts sharper than the last. This is the same continuous improvement loop that makes experienced engineering teams get better over time, applied to your AI agent.
67
71
 
@@ -100,6 +104,32 @@ The `init` command scaffolds your project with:
100
104
 
101
105
  The `index` command builds the knowledge graph at `.scaffold/graph.db`, enabling search, reviews, impact analysis, and session memory.
102
106
 
107
+ ### Async freshness (low-latency graph updates for MCP)
108
+
109
+ AgentScaffold supports an async freshness mode for MCP usage. Instead of blocking a tool
110
+ call to re-index, the request path runs a cheap freshness check and returns immediately.
111
+ If the graph looks stale, a background incremental refresh is scheduled (with debounce and
112
+ single-flight locking) while the agent continues working.
113
+
114
+ Why this design matters:
115
+
116
+ - Keeps MCP interactions in milliseconds/seconds instead of minutes on large repos
117
+ - Avoids duplicate refresh jobs under parallel tool usage
118
+ - Surfaces explicit freshness metadata (`fresh`, `stale`, `unknown`, `refreshing`) so
119
+ agents can reason about confidence
120
+ - Preserves strict governance by allowing gate transitions to defer when freshness is
121
+ required and not yet restored
122
+
123
+ Configure in `scaffold.yaml`:
124
+
125
+ ```yaml
126
+ freshness:
127
+ async_enabled: true
128
+ debounce_seconds: 120
129
+ gate_strict: false
130
+ background_queue_enabled: true
131
+ ```
132
+
103
133
  ### Install with language support
104
134
 
105
135
  ```bash
@@ -114,7 +144,23 @@ pip install agentscaffold[all] # Everything
114
144
 
115
145
  When you run `scaffold mcp`, these tools become available to your agent.
116
146
 
117
- You don't need to memorize tool names. AgentScaffold ships with **intent descriptions** and an **MCP-first routing policy** -- natural language trigger phrases plus fallback rules that push the agent to use MCP tools first, then allow direct reads/search if output is insufficient. Say "let's review plan 42" and the agent calls `scaffold_prepare_review`. Say "where did we leave off?" and it calls `scaffold_orient`. Run `scaffold agents cursor` (or `windsurf`, `claude`) to generate platform-specific rules that wire this up for your IDE.
147
+ #### Interaction Modes
148
+
149
+ AgentScaffold supports two complementary ways of working:
150
+
151
+ - **Natural-language + MCP (interactive)**: describe intent conversationally and let the
152
+ agent route to the right governance/graph workflow.
153
+ - **Structural CLI commands (explicit/automation)**: use direct `scaffold` commands for
154
+ deterministic setup, verification, CI, and fallback.
155
+
156
+ Teams usually get best UX with NL+MCP for day-to-day flow, then use explicit CLI commands
157
+ for verification (`scaffold validate`, `scaffold graph verify`, `scaffold index --incremental`).
158
+
159
+ If you used the governance framework before knowledge graph integration, see
160
+ [`docs/migrating-governance-to-nl-mcp.md`](docs/migrating-governance-to-nl-mcp.md)
161
+ for a command-first -> hybrid -> NL-first transition path.
162
+
163
+ You don't need to memorize tool names. AgentScaffold teaches the agent how to interpret user intent in natural conversation, map that intent to the right MCP workflow, and only fall back to direct reads/search when tool output is insufficient. Say "let's review plan 42" and the agent routes to `scaffold_prepare_review`. Say "where did we leave off?" and it routes to `scaffold_orient`. Run `scaffold agents cursor` (or `windsurf`, `claude`) to generate platform-specific rules that wire this behavior into your IDE.
118
164
 
119
165
  **Composite tools** -- single calls that replace entire multi-step workflows:
120
166
 
@@ -130,6 +176,8 @@ You don't need to memorize tool names. AgentScaffold ships with **intent descrip
130
176
  | `scaffold_find_studies` | Searching study files by topic, tags, or outcome |
131
177
  | `scaffold_find_adrs` | Searching architecture decision records by topic or status |
132
178
 
179
+ Use composite tools by default for common workflows; use granular tools when you need targeted control.
180
+
133
181
  **Granular tools** -- building blocks for custom queries:
134
182
 
135
183
  | Tool | What It Replaces |
@@ -193,9 +241,11 @@ The governance framework is domain-aware. Domain packs teach the adversarial rev
193
241
  | embedded | Memory constraints, real-time deadlines, OTA safety |
194
242
  | research | Reproducibility, statistical rigor, experiment protocol |
195
243
 
244
+ This keeps governance strict where risk is high and lightweight where speed matters, without rewriting the core framework.
245
+
196
246
  ```bash
197
- scaffold domain add trading
198
- scaffold domain add webapp
247
+ scaffold domains add trading
248
+ scaffold domains add webapp
199
249
  ```
200
250
 
201
251
  ## Documentation
@@ -1,11 +1,35 @@
1
1
  # AgentScaffold Documentation
2
2
 
3
+ ## Choose Your Path
4
+
5
+ AgentScaffold supports two interaction modes:
6
+
7
+ - **Interactive Prompting Path (NL + MCP)**: You work in chat with your agent, and the
8
+ agent maps natural-language intent to governance and graph workflows.
9
+ - **CLI / Automation Path**: You run explicit `scaffold` commands for deterministic
10
+ setup, verification, and unattended workflows.
11
+
12
+ If you already used the governance framework before knowledge graph and MCP tooling,
13
+ start here:
14
+
15
+ - [Migrating Governance Workflow to NL + MCP](migrating-governance-to-nl-mcp.md)
16
+
17
+ ## Template Set Included by Init
18
+
19
+ When you run `scaffold init`, AgentScaffold installs the full core planning template set:
20
+
21
+ - `docs/ai/templates/plan_template.md` (feature)
22
+ - `docs/ai/templates/plan_template_bugfix.md` (bugfix)
23
+ - `docs/ai/templates/plan_template_refactor.md` (refactor)
24
+ - plus spike and study templates for discovery and experiment workflows
25
+
3
26
  ## Guides
4
27
 
5
28
  | Document | Description |
6
29
  |----------|-------------|
7
30
  | [Getting Started](getting-started.md) | Installation, init, first plan, knowledge graph, review, execution |
8
31
  | [User Guide](user-guide.md) | Session workflow, knowledge graph, greenfield onboarding, review patterns, MCP tools |
32
+ | [Migrating Governance to NL + MCP](migrating-governance-to-nl-mcp.md) | Command-heavy to conversational migration while preserving governance rigor |
9
33
  | [Configuration](configuration.md) | Full scaffold.yaml reference, gates, rigor presets |
10
34
  | [Domain Packs](domain-packs.md) | Available packs, installation, using multiple packs |
11
35
  | [Creating Domain Packs](creating-domain-packs.md) | Structure, manifest, prompts, standards |
@@ -224,6 +224,22 @@ Only applies when `profile: semi_autonomous` or `semi_autonomous.enabled: true`.
224
224
 
225
225
  ---
226
226
 
227
+ ## freshness
228
+
229
+ Controls optional async graph freshness behavior for MCP tool calls.
230
+
231
+ | Field | Type | Default | Description |
232
+ |-------|------|---------|-------------|
233
+ | async_enabled | bool | true | Enable cheap request-path freshness checks and background refresh scheduling |
234
+ | debounce_seconds | int | 120 | Minimum interval between refresh trigger attempts |
235
+ | gate_strict | bool | false | Defer gate-transition calls when freshness is stale/unknown/refreshing |
236
+ | background_queue_enabled | bool | true | Coalesce in-flight refresh triggers by setting a pending rerun |
237
+
238
+ When enabled, MCP request handlers avoid synchronous re-indexing. They return freshness
239
+ metadata and schedule eligible refreshes asynchronously.
240
+
241
+ ---
242
+
227
243
  ## How Gates Interact with Lifecycle
228
244
 
229
245
  ```
@@ -17,7 +17,7 @@ my_domain/
17
17
  threat_model_my_domain.md.j2
18
18
  ```
19
19
 
20
- The pack directory name (e.g. `my_domain`) is the pack identifier used with `scaffold domain add my_domain`.
20
+ The pack directory name (e.g. `my_domain`) is the pack identifier used with `scaffold domains add my_domain`.
21
21
 
22
22
  ## manifest.yaml Format
23
23
 
@@ -98,6 +98,25 @@ Use tables only for pass/fail checklists (short cell values).
98
98
 
99
99
  Reference the plan file, system architecture, and interface contracts. The agent will apply this prompt to the current plan.
100
100
 
101
+ ## Designing Prompts for Natural Invocation
102
+
103
+ Most users will trigger your pack via conversational prompts, not explicit tool names.
104
+ Write prompts so they are easy for an agent to route from natural language:
105
+
106
+ - Use review titles and phrasing that match how humans ask (e.g., "quant architect review",
107
+ "product design review", "deployment safety review").
108
+ - Include a short "When to use" phrase near the top that mirrors likely user requests.
109
+ - Keep output instructions deterministic so routing confidence can stay high.
110
+
111
+ Example natural invocations your prompt should support:
112
+
113
+ - "Review this plan like a quant architect."
114
+ - "Pressure-test this API plan for backward compatibility."
115
+ - "Before implementation, run deployment safety checks."
116
+
117
+ If the naming in `manifest.yaml` and the prompt header diverge too much from user language,
118
+ agents are more likely to fall back to generic review behavior.
119
+
101
120
  ## Writing Standards
102
121
 
103
122
  Standards should be actionable with concrete examples:
@@ -146,7 +165,7 @@ For static content that works in any project, avoid template variables. If you n
146
165
 
147
166
  ```bash
148
167
  cd /path/to/test-project
149
- scaffold domain add my_domain
168
+ scaffold domains add my_domain
150
169
  ```
151
170
 
152
171
  3. **Verify installation**: Check that files appear in `docs/ai/prompts/`, `docs/ai/standards/`, and `scaffold.yaml` was updated.
@@ -33,9 +33,13 @@ When you install a domain pack, its files are copied into your project and its s
33
33
  From your project root:
34
34
 
35
35
  ```bash
36
- scaffold domain add trading
36
+ scaffold domains add trading
37
37
  ```
38
38
 
39
+ Use `scaffold domains ...` commands for setup and configuration. For day-to-day usage in
40
+ chat sessions, use natural-language prompts so the agent applies domain prompts through
41
+ its governance/review flow.
42
+
39
43
  This will:
40
44
 
41
45
  1. Copy prompts to `docs/ai/prompts/`
@@ -46,7 +50,7 @@ This will:
46
50
  List available and installed packs:
47
51
 
48
52
  ```bash
49
- scaffold domain list
53
+ scaffold domains list
50
54
  ```
51
55
 
52
56
  ## What Gets Added to Your Project
@@ -70,13 +74,25 @@ When you run `scaffold agents generate`, the generated AGENTS.md includes:
70
74
 
71
75
  The agent reads AGENTS.md and applies these rules during plan review and execution.
72
76
 
77
+ ## NL Prompt Patterns After Installation
78
+
79
+ After installing packs, trigger domain behavior conversationally:
80
+
81
+ - "Review plan 042 like a quant architect and challenge risk assumptions."
82
+ - "Before implementation, run product design and accessibility scrutiny for this plan."
83
+ - "Do a full adversarial review with both trading and webapp perspectives."
84
+ - "Re-check the plan for domain-specific failure modes before we proceed."
85
+
86
+ These prompts should route the agent into the same governance gates as explicit command
87
+ flows while reducing interaction friction.
88
+
73
89
  ## Using Multiple Domain Packs
74
90
 
75
91
  You can install multiple packs. For example, a trading web app might use:
76
92
 
77
93
  ```bash
78
- scaffold domain add trading
79
- scaffold domain add webapp
94
+ scaffold domains add trading
95
+ scaffold domains add webapp
80
96
  ```
81
97
 
82
98
  Both packs' prompts and standards are merged. When a plan touches trading and UI:
@@ -85,6 +101,10 @@ Both packs' prompts and standards are merged. When a plan touches trading and UI
85
101
  - Both domains' standards apply
86
102
  - Approval gates from both packs are enforced
87
103
 
104
+ Prompt example for dual-domain plans:
105
+
106
+ > "Let's review this plan with quant architect and product design lenses before implementation."
107
+
88
108
  If prompts or standards from different packs conflict, the agent uses the most specific one for the plan's scope. For overlapping concerns, document your preference in the plan or in `docs/ai/standards/`.
89
109
 
90
110
  ## Creating Custom Domain Packs
@@ -64,7 +64,7 @@ my-project/
64
64
  .cursor/rules.md # Cursor-specific rules
65
65
  docs/
66
66
  ai/
67
- templates/ # Plan, spike, study templates
67
+ templates/ # Plan templates (feature/bugfix/refactor), plus spike and study
68
68
  prompts/ # Devil's advocate, expansion, retrospective
69
69
  standards/ # Error handling, logging, testing
70
70
  state/ # workflow_state, learnings_tracker, plan_completion_log
@@ -80,6 +80,9 @@ my-project/
80
80
  - **AGENTS.md**: The agent reads this file to learn the plan lifecycle, gates, and collaboration protocol.
81
81
  - **scaffold.yaml**: Edit this to change rigor, gates, domains, or semi-autonomous settings.
82
82
  - **docs/ai/**: Source of truth for templates, prompts, and state. The agent references these paths.
83
+ - **Plan templates included**: `docs/ai/templates/plan_template.md`,
84
+ `docs/ai/templates/plan_template_bugfix.md`, and
85
+ `docs/ai/templates/plan_template_refactor.md`.
83
86
 
84
87
  ## 4. Creating Your First Plan
85
88
 
@@ -177,7 +180,61 @@ This indexes your codebase into a local graph database (`.scaffold/graph.db`). F
177
180
 
178
181
  See the [Knowledge Graph section of the User Guide](user-guide.md#knowledge-graph-codebase-intelligence) for details on querying, MCP tools, and review integration.
179
182
 
180
- ## 10. Next Steps
183
+ ### Optional: Enable Async Freshness for MCP Sessions
184
+
185
+ If your repository is large and incremental indexing is slow, enable async freshness so MCP
186
+ tool calls stay fast while graph refresh happens in the background.
187
+
188
+ In `scaffold.yaml`:
189
+
190
+ ```yaml
191
+ freshness:
192
+ async_enabled: true
193
+ debounce_seconds: 120
194
+ gate_strict: false
195
+ background_queue_enabled: true
196
+ ```
197
+
198
+ Behavior:
199
+
200
+ - Request path runs a cheap freshness check and returns immediately.
201
+ - Eligible composite workflows schedule background `index --incremental` refreshes.
202
+ - Tool metadata includes freshness state (`fresh`, `stale`, `unknown`, `refreshing`).
203
+ - With `gate_strict: true`, lifecycle-gate transitions can defer until freshness is restored.
204
+
205
+ ## 10. Switch from Command-Heavy to NL + MCP
206
+
207
+ If you previously drove every step with explicit structural commands, this is the point to
208
+ switch to conversational prompting while preserving the same governance rigor.
209
+
210
+ Readiness checklist:
211
+
212
+ - [ ] MCP is configured for your platform (see [Platform Integration](platform-integration.md)).
213
+ - [ ] You ran `scaffold index` at least once.
214
+ - [ ] You regenerated rules after config/domain changes:
215
+ - `scaffold agents generate`
216
+ - `scaffold agents cursor` (or `scaffold agents windsurf` / `scaffold agents claude`)
217
+
218
+ First 5 prompts to replace command-heavy orchestration:
219
+
220
+ 1. "Let's prepare to review plan 001 with evidence and challenge assumptions."
221
+ 2. "Before implementation, check whether plan 001 is stale and dependency-complete."
222
+ 3. "Compare plan 001 and plan 002 for overlap before we proceed."
223
+ 4. "Where did we leave off on plan 001 and what are blockers?"
224
+ 5. "Prepare retro context for plan 001 with prior findings and studies."
225
+
226
+ Keep explicit commands for verification/operations:
227
+
228
+ ```bash
229
+ scaffold index --incremental
230
+ scaffold graph verify
231
+ scaffold validate
232
+ ```
233
+
234
+ For a full migration guide, see
235
+ [Migrating Governance to NL + MCP](migrating-governance-to-nl-mcp.md).
236
+
237
+ ## 11. Next Steps
181
238
 
182
239
  - **Domain packs**: Add specialized reviews and standards. See [Domain Packs](domain-packs.md).
183
240
  - **Semi-autonomous mode**: Enable for CLI-triggered agents. See [Semi-Autonomous Guide](semi-autonomous-guide.md).
@@ -22,6 +22,48 @@ scaffold index # Build knowledge graph
22
22
 
23
23
  After this, your project has `AGENTS.md` at the root and `.scaffold/graph.db` with the indexed knowledge graph. The agent rules in `AGENTS.md` work immediately with any agent that reads project files.
24
24
 
25
+ ## Verify NL Intent Routing
26
+
27
+ Before long sessions, run a quick smoke check in chat to confirm the agent is interpreting
28
+ intent and routing to MCP workflows (or falling back cleanly when needed):
29
+
30
+ 1. "Let's prepare to review plan 042 with evidence."
31
+ - Expected behavior: review-prep/composite context workflow.
32
+ 2. "Where did we leave off and what are blockers?"
33
+ - Expected behavior: orientation/status workflow.
34
+ 3. "Show me the decision chain behind plan 042."
35
+ - Expected behavior: ADR/spike/study decision-context workflow.
36
+
37
+ If routing is weak or MCP tools are unavailable:
38
+
39
+ - Rebuild freshness: `scaffold index --incremental`
40
+ - Regenerate rules: `scaffold agents generate` and platform-specific rules command
41
+ - Continue in hybrid mode: explicit CLI commands for critical checks + NL orchestration
42
+
43
+ This verification should take under two minutes and catches setup drift early.
44
+
45
+ ### Async Freshness (Recommended for Large Repos)
46
+
47
+ If incremental indexing is heavy in your codebase, enable async freshness in `scaffold.yaml`.
48
+ This keeps MCP request-path latency low by scheduling refresh in the background instead of
49
+ blocking tool calls.
50
+
51
+ ```yaml
52
+ freshness:
53
+ async_enabled: true
54
+ debounce_seconds: 120
55
+ gate_strict: false
56
+ background_queue_enabled: true
57
+ ```
58
+
59
+ Operational notes:
60
+
61
+ - Composite tools are eligible refresh triggers; refresh scheduling is debounced.
62
+ - Single-flight locking prevents duplicate refresh jobs during parallel tool usage.
63
+ - Tool responses include freshness metadata so the agent can disclose confidence.
64
+ - For stricter governance, set `gate_strict: true` to defer gate transitions when freshness
65
+ is stale/unknown.
66
+
25
67
  ---
26
68
 
27
69
  ## Cursor
@@ -232,6 +274,9 @@ scaffold graph stats
232
274
 
233
275
  You can pipe CLI output into aider's context or use it to inform your prompts.
234
276
 
277
+ For aider, the practical target mode is **hybrid**: conversational planning and governance
278
+ prompts, with explicit CLI graph/review commands for context retrieval.
279
+
235
280
  ---
236
281
 
237
282
  ## Codex (OpenAI)
@@ -14,6 +14,23 @@ Each phase has specific trigger phrases and expectations. The sections below det
14
14
 
15
15
  But first -- if you don't have any plans yet because you're starting a brand new project, read the Greenfield Onboarding section below.
16
16
 
17
+ ### Canonical Session Flow (NL + MCP Variant)
18
+
19
+ If MCP is configured and indexed, you can run the same lifecycle with less command
20
+ choreography. Instead of naming each tool, describe the outcome:
21
+
22
+ | Phase | Command-Heavy Directive | NL + MCP Directive |
23
+ |-------|-------------------------|--------------------|
24
+ | Open | "Run review brief for plan 042" | "Let's prepare to review plan 042 with evidence." |
25
+ | Assess | "Run staleness check" | "Is this plan stale after recent architecture changes?" |
26
+ | Review | "Run critique + expansion + domain review" | "Pressure-test this plan and surface edge cases before implementation." |
27
+ | Gaps Sweep | "Re-run all review outputs and list gaps" | "Do a full second-pass gap sweep across all review findings." |
28
+ | Execute | "Proceed with step-by-step implementation" | "Begin implementation and follow plan steps in order." |
29
+ | Close Out | "Run retro and update state files" | "Prepare retro context and complete close-out updates." |
30
+
31
+ Use explicit commands when you need deterministic verification, reproducible outputs, or
32
+ platform fallback.
33
+
17
34
  ---
18
35
 
19
36
  ## Greenfield Onboarding: Starting from Scratch
@@ -724,6 +741,35 @@ the flow has completed. lets review the findings
724
741
 
725
742
  ---
726
743
 
744
+ ## Migration Guide for Governance-First Users
745
+
746
+ If you used AgentScaffold before knowledge graph/MCP integration, the safest shift is:
747
+
748
+ 1. **Hybrid first**: use NL prompts for orchestration, keep CLI verification explicit.
749
+ 2. **Verify behavior**: confirm the agent is routing to MCP context/review tools first.
750
+ 3. **Keep rigor fixed**: pre-reviews, gap sweep, validation, retro, and state updates stay mandatory.
751
+
752
+ Phase-by-phase translation:
753
+
754
+ | Old Structural Pattern | NL Prompt Pattern | Expected Tool Family |
755
+ |------------------------|-------------------|----------------------|
756
+ | "run review brief/challenges for plan X" | "prepare to review plan X with evidence" | composite review tools |
757
+ | "run staleness check on plan X" | "is plan X stale after recent changes?" | staleness/validation tools |
758
+ | "run impact on file/symbol Y" | "what is the blast radius of Y?" | impact/context tools |
759
+ | "gather ADR/spike/study history" | "show the decision chain behind this plan" | decision context tools |
760
+ | "run retro prep and findings pull" | "prepare retro context for this plan" | retro/studies tools |
761
+
762
+ Fallback and override guardrails:
763
+
764
+ - If MCP is unavailable, fall back to direct read/search and keep governance sequence intact.
765
+ - If graph might be stale, run `scaffold index --incremental` before continuing.
766
+ - Keep explicit validation commands (`scaffold validate`, `scaffold graph verify`) before completion.
767
+
768
+ For a focused migration path, see
769
+ [Migrating Governance to NL + MCP](migrating-governance-to-nl-mcp.md).
770
+
771
+ ---
772
+
727
773
  ## Knowledge Graph: Codebase Intelligence
728
774
 
729
775
  AgentScaffold can build a knowledge graph of your codebase using `scaffold index`. This graph powers several features: auto-enriched templates, graph-backed reviews, MCP tool integration, and a living Codebase Intelligence section in AGENTS.md.
@@ -761,6 +807,29 @@ scaffold index --incremental
761
807
 
762
808
  Incremental mode compares SHA-256 content hashes of files on disk against those stored in the graph. Only files that were added, modified, or deleted since the last index are processed. On a large codebase where only a handful of files changed, this is dramatically faster than a full re-index.
763
809
 
810
+ ### Async Freshness for MCP (Large-Repo UX)
811
+
812
+ For large repositories, even incremental re-indexing can still take too long to run
813
+ inline with tool calls. Async freshness mode separates freshness checks from refresh work:
814
+
815
+ - Request path performs a cheap freshness oracle check.
816
+ - Eligible composite tools schedule background incremental refreshes.
817
+ - Debounce and single-flight locking avoid refresh storms.
818
+ - Responses include freshness state so the agent can communicate confidence.
819
+
820
+ Enable in `scaffold.yaml`:
821
+
822
+ ```yaml
823
+ freshness:
824
+ async_enabled: true
825
+ debounce_seconds: 120
826
+ gate_strict: false
827
+ background_queue_enabled: true
828
+ ```
829
+
830
+ If you need strict lifecycle control, set `gate_strict: true` so gate transitions defer
831
+ when graph freshness is stale or unknown.
832
+
764
833
  The changeset output shows exactly what changed:
765
834
  ```
766
835
  Incremental index -- computing changeset...