@haposoft/cafekit 0.16.0-rc.7 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +116 -27
- package/bin/__tests__/codex-hooks-ownership.test.js +239 -0
- package/bin/__tests__/codex-hooks.test.js +295 -0
- package/bin/__tests__/codex-native.test.js +2289 -34
- package/bin/__tests__/develop-contract.test.js +400 -23
- package/bin/__tests__/installer-safety.test.js +3 -3
- package/bin/__tests__/optional-skill-inventory.test.js +249 -0
- package/bin/__tests__/output-styles.test.js +214 -0
- package/bin/__tests__/package-inventory.test.js +2131 -16
- package/bin/__tests__/runtime-schema.test.js +111 -0
- package/bin/__tests__/secret-output-guardrail.test.js +122 -0
- package/bin/__tests__/skill-routing-source.test.js +172 -0
- package/bin/__tests__/specs-v2-execution-closeout.test.js +1 -1
- package/bin/install.js +10 -0
- package/bin/lib/codex-install.js +170 -5
- package/bin/lib/context.js +14 -0
- package/bin/lib/i18n.js +12 -6
- package/bin/lib/skill-deps.js +5 -5
- package/bin/phases/claude-runtime.js +23 -0
- package/bin/phases/claude-settings.js +8 -0
- package/bin/phases/codex-hooks.js +156 -0
- package/bin/phases/codex-runtime.js +29 -38
- package/bin/phases/copy-payload.js +8 -2
- package/bin/phases/select-skill-bundles.js +96 -0
- package/bin/phases/skill-inventory.js +71 -0
- package/bin/phases/skills-setup.js +9 -2
- package/bin/phases/write-metadata.js +8 -5
- package/package.json +8 -2
- package/src/claude/CLAUDE.md +3 -3
- package/src/claude/agents/brainstormer.md +52 -69
- package/src/claude/agents/code-auditor.md +32 -14
- package/src/claude/agents/debugger.md +35 -20
- package/src/claude/agents/deployer.md +12 -5
- package/src/claude/agents/docs-keeper.md +11 -1
- package/src/claude/agents/implementer.md +25 -13
- package/src/claude/agents/inspector.md +6 -3
- package/src/claude/agents/project-manager.md +1 -1
- package/src/claude/agents/researcher.md +26 -55
- package/src/claude/agents/spec-maker.md +24 -13
- package/src/claude/agents/strategist.md +52 -0
- package/src/claude/agents/test-runner.md +117 -132
- package/src/claude/agents/ui-ux-designer.md +1 -1
- package/src/claude/hooks/__tests__/fixtures/statusline-default.golden +1 -0
- package/src/claude/hooks/__tests__/precompact.test.js +158 -0
- package/src/claude/hooks/__tests__/spec-gate.test.js +87 -4
- package/src/claude/hooks/__tests__/state.test.js +254 -3
- package/src/claude/hooks/__tests__/statusline.test.js +196 -0
- package/src/claude/hooks/agent.cjs +1 -1
- package/src/claude/hooks/docs-sync.cjs +12 -10
- package/src/claude/hooks/inspect-block.cjs +1 -1
- package/src/claude/hooks/lib/config.cjs +3 -0
- package/src/claude/hooks/lib/hook-state-dir.cjs +39 -0
- package/src/claude/hooks/lib/secret-keywords.cjs +42 -0
- package/src/claude/hooks/precompact.cjs +105 -0
- package/src/claude/hooks/rules.cjs +1 -1
- package/src/claude/hooks/secret-output-guardrail.cjs +43 -0
- package/src/claude/hooks/session.cjs +27 -1
- package/src/claude/hooks/spec-gate.cjs +3 -3
- package/src/claude/hooks/spec-state.cjs +32 -5
- package/src/claude/hooks/state.cjs +1 -1
- package/src/claude/hooks/task-scaffold-guard.cjs +1 -1
- package/src/claude/hooks/usage.cjs +1 -1
- package/src/claude/migration-manifest.json +29 -15
- package/src/claude/output-styles/coding-level-0-eli5.md +103 -0
- package/src/claude/output-styles/coding-level-1-junior.md +124 -0
- package/src/claude/output-styles/coding-level-2-mid.md +146 -0
- package/src/claude/output-styles/coding-level-3-senior.md +148 -0
- package/src/claude/output-styles/coding-level-4-lead.md +159 -0
- package/src/claude/output-styles/coding-level-5-god.md +91 -0
- package/src/claude/references/debugger/core-philosophy.md +5 -3
- package/src/claude/references/debugger/frontend-verification.md +2 -2
- package/src/claude/references/debugger/log-ci-analysis.md +13 -1
- package/src/claude/references/debugger/parallel-agent-hydration.md +19 -34
- package/src/claude/references/debugger/performance-diagnostics.md +2 -2
- package/src/claude/references/debugger/root-cause-tracing.md +37 -6
- package/src/claude/references/debugger/side-effect-gate.md +3 -1
- package/src/claude/references/debugger/verification-protocol.md +13 -12
- package/src/claude/rules/orchestrator.md +7 -1
- package/src/claude/rules/process-management.md +39 -0
- package/src/claude/rules/review-audit-self-decision.md +48 -0
- package/src/claude/rules/skill-domain-routing.md +26 -24
- package/src/claude/rules/skill-workflow-routing.md +22 -14
- package/src/claude/rules/workflow.md +3 -3
- package/src/claude/runtime.json +1 -0
- package/src/claude/runtime.schema.json +205 -0
- package/src/claude/scripts/generate-skill-catalog.cjs +156 -122
- package/src/claude/scripts/provenance.cjs +18 -5
- package/src/claude/scripts/spec-receipt.cjs +76 -21
- package/src/claude/scripts/spec-resolver.cjs +144 -4
- package/src/claude/scripts/workflow-policy.cjs +1 -1
- package/src/claude/settings/settings.json +16 -0
- package/src/claude/skills/agent-browser/SKILL.md +1 -1
- package/src/claude/skills/ai-multimodal/SKILL.md +1 -1
- package/src/claude/skills/brainstorm/SKILL.md +193 -172
- package/src/claude/skills/brainstorm/references/question-framework.md +105 -167
- package/src/claude/skills/chrome-devtools/SKILL.md +1 -1
- package/src/claude/skills/code-review/SKILL.md +43 -25
- package/src/claude/skills/code-review/references/spec-compliance-review.md +3 -4
- package/src/claude/skills/code-review/references/verification-gate.md +1 -1
- package/src/claude/skills/debug/SKILL.md +48 -19
- package/src/claude/skills/delegate/SKILL.md +1 -1
- package/src/claude/skills/develop/SKILL.md +92 -65
- package/src/claude/skills/develop/references/parallel-waves.md +36 -63
- package/src/claude/skills/develop/references/quality-gate.md +31 -4
- package/src/claude/skills/develop/references/subagent-patterns.md +21 -7
- package/src/claude/skills/docs/SKILL.md +42 -23
- package/src/claude/skills/docs/references/init-workflow.md +4 -4
- package/src/claude/skills/docs/references/reconstruct-workflow.md +6 -6
- package/src/claude/skills/docs/references/standard-docs-workflow.md +6 -2
- package/src/claude/skills/docs/references/summarize-workflow.md +2 -2
- package/src/claude/skills/docs/references/update-workflow.md +9 -7
- package/src/claude/skills/docs/templates/requirements-as-is.md +1 -1
- package/src/claude/skills/docx/SKILL.md +1 -1
- package/src/claude/skills/git/SKILL.md +1 -1
- package/src/claude/skills/git/references/commit-protocols.md +1 -1
- package/src/claude/skills/git/references/finish-branch.md +1 -1
- package/src/claude/skills/hotfix/SKILL.md +159 -170
- package/src/claude/skills/hotfix/references/diagnosis-protocol.md +14 -9
- package/src/claude/skills/hotfix/references/parallel-patterns.md +27 -13
- package/src/claude/skills/hotfix/references/prevention-gate.md +5 -0
- package/src/claude/skills/hotfix/references/review-cycle.md +21 -15
- package/src/claude/skills/hotfix/references/workflow-specialized.md +53 -21
- package/src/claude/skills/inspect/SKILL.md +55 -46
- package/src/claude/skills/inspect/references/internal-inspection.md +21 -5
- package/src/claude/skills/loop/SKILL.md +114 -0
- package/src/claude/skills/loop/references/bounded-loop-protocol.md +104 -0
- package/src/claude/skills/loop/references/metric-and-guard-contract.md +76 -0
- package/src/claude/skills/pdf/SKILL.md +1 -1
- package/src/claude/skills/pptx/SKILL.md +1 -1
- package/src/claude/skills/question/SKILL.md +16 -13
- package/src/claude/skills/research/SKILL.md +70 -43
- package/src/claude/skills/route/SKILL.md +94 -0
- package/src/claude/skills/route/references/agent-timing.md +46 -0
- package/src/claude/skills/route/references/chaining-patterns.md +53 -0
- package/src/claude/skills/route/references/task-taxonomy.md +48 -0
- package/src/claude/skills/specs/SKILL.md +48 -57
- package/src/claude/skills/specs/references/review.md +26 -8
- package/src/claude/skills/specs/references/templates.md +76 -31
- package/src/claude/skills/specs/templates/requirements-init.md +1 -1
- package/src/claude/skills/specs/templates/research.md +2 -2
- package/src/claude/skills/sync/SKILL.md +6 -6
- package/src/claude/skills/sync/references/sync-protocols.md +1 -1
- package/src/claude/skills/test/SKILL.md +120 -120
- package/src/claude/skills/test/references/execution-strategy.md +208 -361
- package/src/claude/skills/test/references/failure-triage.md +55 -121
- package/src/claude/skills/test/references/test-memory.md +20 -34
- package/src/claude/skills/ui-ux-pro-max/SKILL.md +1 -1
- package/src/claude/skills/web-testing/SKILL.md +1 -1
- package/src/claude/skills/xlsx/SKILL.md +1 -1
- package/src/claude/status.cjs +135 -33
- package/src/codex/AGENTS.md +14 -4
- package/src/codex/hooks/docs-sync.cjs +8 -3
- package/src/codex/hooks/lib/hook-context.cjs +18 -4
- package/src/codex/hooks/rules.cjs +29 -1
- package/src/codex/hooks/secret-output-guardrail.cjs +30 -0
- package/src/codex/hooks/spec-gate.cjs +3 -8
- package/src/codex/hooks/spec-state.cjs +34 -5
- package/src/codex/hooks.json +5 -0
- package/src/codex/runtime.json +2 -0
- package/src/common/.env.example +1 -1
- package/src/claude/skills/backend-development/SKILL.md +0 -101
- package/src/claude/skills/backend-development/references/backend-api-design.md +0 -495
- package/src/claude/skills/backend-development/references/backend-architecture.md +0 -454
- package/src/claude/skills/backend-development/references/backend-authentication.md +0 -338
- package/src/claude/skills/backend-development/references/backend-code-quality.md +0 -659
- package/src/claude/skills/backend-development/references/backend-debugging.md +0 -904
- package/src/claude/skills/backend-development/references/backend-devops.md +0 -491
- package/src/claude/skills/backend-development/references/backend-mindset.md +0 -387
- package/src/claude/skills/backend-development/references/backend-performance.md +0 -397
- package/src/claude/skills/backend-development/references/backend-security.md +0 -342
- package/src/claude/skills/backend-development/references/backend-technologies.md +0 -256
- package/src/claude/skills/backend-development/references/backend-testing.md +0 -429
- package/src/claude/skills/devops/.env.example +0 -76
- package/src/claude/skills/devops/SKILL.md +0 -102
- package/src/claude/skills/devops/references/browser-rendering.md +0 -305
- package/src/claude/skills/devops/references/cloudflare-d1-kv.md +0 -123
- package/src/claude/skills/devops/references/cloudflare-platform.md +0 -271
- package/src/claude/skills/devops/references/cloudflare-r2-storage.md +0 -280
- package/src/claude/skills/devops/references/cloudflare-workers-advanced.md +0 -312
- package/src/claude/skills/devops/references/cloudflare-workers-apis.md +0 -309
- package/src/claude/skills/devops/references/cloudflare-workers-basics.md +0 -418
- package/src/claude/skills/devops/references/docker-basics.md +0 -297
- package/src/claude/skills/devops/references/docker-compose.md +0 -292
- package/src/claude/skills/devops/references/gcloud-platform.md +0 -297
- package/src/claude/skills/devops/references/gcloud-services.md +0 -304
- package/src/claude/skills/devops/references/kubernetes-basics.md +0 -95
- package/src/claude/skills/devops/references/kubernetes-helm-advanced.md +0 -70
- package/src/claude/skills/devops/references/kubernetes-helm.md +0 -81
- package/src/claude/skills/devops/references/kubernetes-kubectl.md +0 -74
- package/src/claude/skills/devops/references/kubernetes-security-advanced.md +0 -94
- package/src/claude/skills/devops/references/kubernetes-security.md +0 -89
- package/src/claude/skills/devops/references/kubernetes-troubleshooting-advanced.md +0 -74
- package/src/claude/skills/devops/references/kubernetes-troubleshooting.md +0 -49
- package/src/claude/skills/devops/references/kubernetes-workflows-advanced.md +0 -75
- package/src/claude/skills/devops/references/kubernetes-workflows.md +0 -76
- package/src/claude/skills/devops/scripts/cloudflare_deploy.py +0 -269
- package/src/claude/skills/devops/scripts/docker_optimize.py +0 -332
- package/src/claude/skills/devops/scripts/requirements.txt +0 -20
- package/src/claude/skills/devops/scripts/tests/requirements.txt +0 -3
- package/src/claude/skills/devops/scripts/tests/test_cloudflare_deploy.py +0 -285
- package/src/claude/skills/devops/scripts/tests/test_docker_optimize.py +0 -436
- package/src/claude/skills/frontend-design/SKILL.md +0 -135
- package/src/claude/skills/frontend-design/references/ai-multimodal-overview.md +0 -165
- package/src/claude/skills/frontend-design/references/analysis-best-practices.md +0 -80
- package/src/claude/skills/frontend-design/references/analysis-prompts.md +0 -141
- package/src/claude/skills/frontend-design/references/analysis-techniques.md +0 -118
- package/src/claude/skills/frontend-design/references/animejs.md +0 -396
- package/src/claude/skills/frontend-design/references/anti-slop-rules.md +0 -103
- package/src/claude/skills/frontend-design/references/asset-generation.md +0 -337
- package/src/claude/skills/frontend-design/references/bento-motion-engine.md +0 -142
- package/src/claude/skills/frontend-design/references/design-extraction-overview.md +0 -71
- package/src/claude/skills/frontend-design/references/extraction-best-practices.md +0 -141
- package/src/claude/skills/frontend-design/references/extraction-output-templates.md +0 -162
- package/src/claude/skills/frontend-design/references/extraction-prompts.md +0 -127
- package/src/claude/skills/frontend-design/references/magicui-components.md +0 -129
- package/src/claude/skills/frontend-design/references/performance-guardrails.md +0 -169
- package/src/claude/skills/frontend-design/references/premium-design-patterns.md +0 -93
- package/src/claude/skills/frontend-design/references/redesign-audit-checklist.md +0 -114
- package/src/claude/skills/frontend-design/references/technical-accessibility.md +0 -119
- package/src/claude/skills/frontend-design/references/technical-best-practices.md +0 -97
- package/src/claude/skills/frontend-design/references/technical-optimization.md +0 -44
- package/src/claude/skills/frontend-design/references/technical-overview.md +0 -90
- package/src/claude/skills/frontend-design/references/technical-workflows.md +0 -150
- package/src/claude/skills/frontend-design/references/visual-analysis-overview.md +0 -95
- package/src/claude/skills/frontend-design/references/workflow-3d.md +0 -102
- package/src/claude/skills/frontend-design/references/workflow-describe.md +0 -87
- package/src/claude/skills/frontend-design/references/workflow-immersive.md +0 -87
- package/src/claude/skills/frontend-design/references/workflow-quick.md +0 -57
- package/src/claude/skills/frontend-design/references/workflow-screenshot.md +0 -63
- package/src/claude/skills/frontend-design/references/workflow-video.md +0 -74
- package/src/claude/skills/frontend-development/SKILL.md +0 -406
- package/src/claude/skills/frontend-development/resources/common-patterns.md +0 -331
- package/src/claude/skills/frontend-development/resources/complete-examples.md +0 -872
- package/src/claude/skills/frontend-development/resources/component-patterns.md +0 -502
- package/src/claude/skills/frontend-development/resources/data-fetching.md +0 -767
- package/src/claude/skills/frontend-development/resources/file-organization.md +0 -502
- package/src/claude/skills/frontend-development/resources/loading-and-error-states.md +0 -501
- package/src/claude/skills/frontend-development/resources/performance.md +0 -406
- package/src/claude/skills/frontend-development/resources/routing-guide.md +0 -364
- package/src/claude/skills/frontend-development/resources/styling-guide.md +0 -428
- package/src/claude/skills/frontend-development/resources/typescript-standards.md +0 -418
- package/src/claude/skills/mobile-development/SKILL.md +0 -218
- package/src/claude/skills/mobile-development/references/mobile-android.md +0 -604
- package/src/claude/skills/mobile-development/references/mobile-best-practices.md +0 -544
- package/src/claude/skills/mobile-development/references/mobile-debugging.md +0 -1089
- package/src/claude/skills/mobile-development/references/mobile-frameworks.md +0 -465
- package/src/claude/skills/mobile-development/references/mobile-ios.md +0 -496
- package/src/claude/skills/mobile-development/references/mobile-mindset.md +0 -542
- package/src/claude/skills/react-best-practices/AGENTS.md +0 -2249
- package/src/claude/skills/react-best-practices/README.md +0 -123
- package/src/claude/skills/react-best-practices/SKILL.md +0 -128
- package/src/claude/skills/react-best-practices/metadata.json +0 -15
- package/src/claude/skills/react-best-practices/rules/_sections.md +0 -46
- package/src/claude/skills/react-best-practices/rules/_template.md +0 -28
- package/src/claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +0 -55
- package/src/claude/skills/react-best-practices/rules/advanced-use-latest.md +0 -49
- package/src/claude/skills/react-best-practices/rules/async-api-routes.md +0 -38
- package/src/claude/skills/react-best-practices/rules/async-defer-await.md +0 -80
- package/src/claude/skills/react-best-practices/rules/async-dependencies.md +0 -36
- package/src/claude/skills/react-best-practices/rules/async-parallel.md +0 -28
- package/src/claude/skills/react-best-practices/rules/async-suspense-boundaries.md +0 -99
- package/src/claude/skills/react-best-practices/rules/bundle-barrel-imports.md +0 -59
- package/src/claude/skills/react-best-practices/rules/bundle-conditional.md +0 -31
- package/src/claude/skills/react-best-practices/rules/bundle-defer-third-party.md +0 -49
- package/src/claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +0 -35
- package/src/claude/skills/react-best-practices/rules/bundle-preload.md +0 -50
- package/src/claude/skills/react-best-practices/rules/client-event-listeners.md +0 -74
- package/src/claude/skills/react-best-practices/rules/client-swr-dedup.md +0 -56
- package/src/claude/skills/react-best-practices/rules/js-batch-dom-css.md +0 -82
- package/src/claude/skills/react-best-practices/rules/js-cache-function-results.md +0 -80
- package/src/claude/skills/react-best-practices/rules/js-cache-property-access.md +0 -28
- package/src/claude/skills/react-best-practices/rules/js-cache-storage.md +0 -70
- package/src/claude/skills/react-best-practices/rules/js-combine-iterations.md +0 -32
- package/src/claude/skills/react-best-practices/rules/js-early-exit.md +0 -50
- package/src/claude/skills/react-best-practices/rules/js-hoist-regexp.md +0 -45
- package/src/claude/skills/react-best-practices/rules/js-index-maps.md +0 -37
- package/src/claude/skills/react-best-practices/rules/js-length-check-first.md +0 -49
- package/src/claude/skills/react-best-practices/rules/js-min-max-loop.md +0 -82
- package/src/claude/skills/react-best-practices/rules/js-set-map-lookups.md +0 -24
- package/src/claude/skills/react-best-practices/rules/js-tosorted-immutable.md +0 -57
- package/src/claude/skills/react-best-practices/rules/rendering-activity.md +0 -26
- package/src/claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
- package/src/claude/skills/react-best-practices/rules/rendering-conditional-render.md +0 -40
- package/src/claude/skills/react-best-practices/rules/rendering-content-visibility.md +0 -38
- package/src/claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +0 -46
- package/src/claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
- package/src/claude/skills/react-best-practices/rules/rendering-svg-precision.md +0 -28
- package/src/claude/skills/react-best-practices/rules/rerender-defer-reads.md +0 -39
- package/src/claude/skills/react-best-practices/rules/rerender-dependencies.md +0 -45
- package/src/claude/skills/react-best-practices/rules/rerender-derived-state.md +0 -29
- package/src/claude/skills/react-best-practices/rules/rerender-functional-setstate.md +0 -74
- package/src/claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
- package/src/claude/skills/react-best-practices/rules/rerender-memo.md +0 -44
- package/src/claude/skills/react-best-practices/rules/rerender-transitions.md +0 -40
- package/src/claude/skills/react-best-practices/rules/server-after-nonblocking.md +0 -73
- package/src/claude/skills/react-best-practices/rules/server-cache-lru.md +0 -41
- package/src/claude/skills/react-best-practices/rules/server-cache-react.md +0 -26
- package/src/claude/skills/react-best-practices/rules/server-parallel-fetching.md +0 -79
- package/src/claude/skills/react-best-practices/rules/server-serialization.md +0 -38
|
@@ -1,232 +1,170 @@
|
|
|
1
1
|
# Brainstorm Question Framework
|
|
2
2
|
|
|
3
|
-
Use this reference to
|
|
3
|
+
Use this reference to ask the smallest set of questions that can materially
|
|
4
|
+
change the selected route or design. It does not override front-door routing in
|
|
5
|
+
`cf:brainstorm`.
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
## Contract gaps and accepted decisions
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
The four user-owned contract fields are Outcome, Constraints, Non-goals, and
|
|
10
|
+
Acceptance. Evaluate them independently:
|
|
8
11
|
|
|
9
|
-
|
|
12
|
+
- Reuse a field only when current user text or an approved artifact binds it to
|
|
13
|
+
the same target and revision.
|
|
14
|
+
- Preserve a current non-conflicting field; do not ask the user to repeat it.
|
|
15
|
+
- Treat a missing, stale, or conflicting field as unresolved and ask only when
|
|
16
|
+
it materially changes scope, safety, public behavior, or proof.
|
|
17
|
+
- Never convert an assumption or old “approved” label into user acceptance.
|
|
18
|
+
- Hydration never selects the route; classify the remaining request afterward.
|
|
10
19
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
4. **Domain matrix** — only domains that actually apply to the request.
|
|
15
|
-
5. **Risk matrix** — security, privacy, cost, runtime limits, provider failure, migration, compliance, maintainability.
|
|
20
|
+
Technical touchpoints are evidence, not a fifth user-owned field. Derive paths,
|
|
21
|
+
modules, schemas, APIs, and conventions from scouting; ask only when ownership or
|
|
22
|
+
scope is genuinely a user decision.
|
|
16
23
|
|
|
17
|
-
|
|
24
|
+
## Source hierarchy
|
|
18
25
|
|
|
19
|
-
|
|
26
|
+
Generate candidates in this order:
|
|
27
|
+
|
|
28
|
+
1. Scout evidence: relevant code, docs, specs, plans, runtime, and constraints.
|
|
29
|
+
2. User intent: outcome language, target users, examples, and delivery format.
|
|
30
|
+
3. Missing or conflicting contract fields.
|
|
31
|
+
4. Applicable Domain Matrix entries.
|
|
32
|
+
5. Applicable risk surfaces.
|
|
20
33
|
|
|
21
|
-
|
|
34
|
+
Never ask a question the repository, docs, or trusted technical research can
|
|
35
|
+
answer directly.
|
|
22
36
|
|
|
23
|
-
|
|
24
|
-
- target user workflow or UX surface
|
|
25
|
-
- expected output artifact or delivery format
|
|
26
|
-
- acceptance criteria
|
|
27
|
-
- business priority, timeline, or rollout
|
|
28
|
-
- cost, privacy, API-key ownership, external provider choice
|
|
29
|
-
- irreversible workspace action such as renaming/moving/deleting
|
|
30
|
-
- whether to accept a trade-off after you explain it
|
|
37
|
+
## Ask / Do Not Ask
|
|
31
38
|
|
|
32
|
-
|
|
39
|
+
Ask when the answer changes:
|
|
33
40
|
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
- existing code location, schema, endpoint, or convention
|
|
41
|
+
- outcome, MVP boundary, non-goal, or acceptance evidence;
|
|
42
|
+
- target user workflow, UX surface, or output artifact;
|
|
43
|
+
- business priority, rollout, cost, privacy, provider/key ownership;
|
|
44
|
+
- an irreversible workspace action or a public compatibility contract;
|
|
45
|
+
- acceptance of a material trade-off after its consequences are explained.
|
|
40
46
|
|
|
41
|
-
|
|
47
|
+
Do not ask for technical facts such as current code locations, schema shape,
|
|
48
|
+
runtime/browser limits, package/API compatibility, dependency state, security
|
|
49
|
+
practice, or framework syntax. Verify first, then ask only the remaining product
|
|
50
|
+
or trade-off decision.
|
|
42
51
|
|
|
43
52
|
## Prioritization
|
|
44
53
|
|
|
45
|
-
|
|
54
|
+
Score candidate questions before asking:
|
|
46
55
|
|
|
47
56
|
| Signal | Score |
|
|
48
57
|
|---|---:|
|
|
49
|
-
|
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
| Defines UX flow or primary user surface | +2 |
|
|
54
|
-
| Can be answered from repo/docs/research | -4 |
|
|
55
|
-
| Merely names an implementation detail with a safe default | -2 |
|
|
56
|
-
|
|
57
|
-
Ask only the highest-impact question. If several are tied and independent, ask at most 3 in one `AskUserQuestion` batch; otherwise ask one at a time.
|
|
58
|
-
|
|
59
|
-
## Required Decision Surfaces
|
|
60
|
-
|
|
61
|
-
Every brainstorm must eventually resolve these surfaces:
|
|
58
|
+
| Changes architecture, data model, platform, scope, privacy, security, or compliance | +3 |
|
|
59
|
+
| Defines acceptance, primary flow, or user-visible output | +2 |
|
|
60
|
+
| Answerable from code, docs, or research | -4 |
|
|
61
|
+
| Safe implementation default only | -2 |
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
| Outcome | What does the user expect to exist or happen after the work? |
|
|
66
|
-
| Done | How will the user verify it works? |
|
|
67
|
-
| Scope | What is explicitly not included now? |
|
|
68
|
-
| Constraints | What cannot change: stack, platform, naming, runtime, compatibility, deadline? |
|
|
69
|
-
| Touchpoints | Which existing files/modules/contracts will this affect? |
|
|
70
|
-
|
|
71
|
-
If any surface is missing, ask a grounded question before proposing architecture.
|
|
63
|
+
Ask the highest-impact question. Batch at most three tied, independent questions;
|
|
64
|
+
otherwise ask one. Stop when the next answer would not change the contract.
|
|
72
65
|
|
|
73
66
|
## Domain Matrix
|
|
74
67
|
|
|
75
|
-
Use only
|
|
68
|
+
Use only matching domains. These are prompts for material gaps, not a checklist.
|
|
76
69
|
|
|
77
70
|
### Product / UX
|
|
78
71
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
- Primary flow: what is the shortest successful path?
|
|
83
|
-
- Surface: page, overlay, sidebar, modal, command, background task?
|
|
84
|
-
- State: loading, empty, error, partial result, retry?
|
|
85
|
-
- Accessibility or localization expectations?
|
|
72
|
+
- Primary user and shortest successful flow?
|
|
73
|
+
- Surface and loading/empty/error/partial/retry states?
|
|
74
|
+
- Accessibility, localization, responsive, or native constraints?
|
|
86
75
|
|
|
87
76
|
### Browser Extension
|
|
88
77
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
- UI surface: content overlay, sidebar, popup, options page, or all?
|
|
93
|
-
- Permissions posture: minimal host permissions or broader convenience?
|
|
94
|
-
- Storage: browser storage, IndexedDB, sync storage, or no persistence?
|
|
95
|
-
- Publishing target: dev-only, Chrome Web Store, enterprise install?
|
|
96
|
-
|
|
97
|
-
Verify instead of asking:
|
|
98
|
-
|
|
99
|
-
- Manifest V3 service worker lifetime.
|
|
100
|
-
- Browser-reserved shortcut conflicts.
|
|
101
|
-
- Content script isolated-world vs main-world behavior.
|
|
102
|
-
- Current Chrome API compatibility.
|
|
78
|
+
- Browser/manifest target, UI surface, permission posture, storage, publishing?
|
|
79
|
+
- Verify service-worker lifetime, shortcut conflicts, execution worlds, and API
|
|
80
|
+
compatibility rather than asking the user.
|
|
103
81
|
|
|
104
82
|
### AI / LLM
|
|
105
83
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
- Provider shape: fixed provider, multi-provider, or custom base URL?
|
|
110
|
-
- Output contract: prose, JSON, markdown, SRT, code, patch?
|
|
111
|
-
- Failure behavior: retry, fallback, partial result, ask user, or stop?
|
|
112
|
-
- Cache policy: never, per session, persistent, or shared?
|
|
113
|
-
- Privacy boundary: what content may leave the browser/server?
|
|
84
|
+
- Provider/key ownership, output contract, failure/fallback, cache, privacy?
|
|
85
|
+
- Verify endpoint/auth shape, tool/schema/streaming support, and provider
|
|
86
|
+
compatibility rather than asking the user.
|
|
114
87
|
|
|
115
|
-
|
|
88
|
+
### Data / Documents / Media
|
|
116
89
|
|
|
117
|
-
-
|
|
118
|
-
- Whether a provider supports tool use / JSON schema / streaming.
|
|
119
|
-
- Current API endpoint paths and auth header format.
|
|
120
|
-
|
|
121
|
-
### Data / Transcript / Documents
|
|
122
|
-
|
|
123
|
-
Ask when the work transforms documents, captions, data, logs, OCR, audio, video, or legacy code into another artifact.
|
|
124
|
-
|
|
125
|
-
- Source priority and fallback order?
|
|
126
|
-
- Output format and fidelity level?
|
|
127
|
-
- Confidence / evidence tracking requirement?
|
|
128
|
-
- Missing/unknown handling?
|
|
129
|
-
- Export/import requirements?
|
|
90
|
+
- Source priority, output format/fidelity, unknown/confidence handling, export?
|
|
130
91
|
|
|
131
92
|
### Backend / API / Database
|
|
132
93
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
- API contract: endpoint, method, request/response shape?
|
|
136
|
-
- Persistence: new table, existing table, no DB?
|
|
137
|
-
- Auth/permission model?
|
|
138
|
-
- Idempotency, retries, and background job behavior?
|
|
139
|
-
- Migration and rollback constraints?
|
|
94
|
+
- Public request/response behavior, identity/permissions, persistence,
|
|
95
|
+
idempotency/retry, migration and rollback?
|
|
140
96
|
|
|
141
97
|
### Docs / Legacy Reconstruction
|
|
142
98
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
- Scope path/module to reconstruct?
|
|
146
|
-
- Output docs required: overview, requirements, architecture, evidence map, unknowns?
|
|
147
|
-
- Evidence level: observed-only or inferred allowed with confidence?
|
|
148
|
-
- Review gate: who approves the reconstructed docs?
|
|
149
|
-
- Change request follows reconstruction or is separate?
|
|
99
|
+
- Scope, required artifacts, allowed inference/evidence level, human review,
|
|
100
|
+
and whether a later change request is separate?
|
|
150
101
|
|
|
151
102
|
### Release / Packaging
|
|
152
103
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
- Target release channel?
|
|
156
|
-
- Version bump type?
|
|
157
|
-
- Required checks before publish?
|
|
158
|
-
- Store/listing metadata ownership?
|
|
159
|
-
- Rollback or deprecation plan?
|
|
104
|
+
- Channel, version intent, required checks, metadata ownership, rollback?
|
|
160
105
|
|
|
161
|
-
##
|
|
106
|
+
## Risk surfaces
|
|
162
107
|
|
|
163
|
-
|
|
108
|
+
Raise only risks that can change the contract or approval path:
|
|
164
109
|
|
|
165
|
-
-
|
|
166
|
-
|
|
167
|
-
-
|
|
168
|
-
|
|
169
|
-
- Avoid abstract labels like "Option A" unless paired with concrete meaning.
|
|
110
|
+
- **Critical section decision:** auth/secrets/privacy; destructive/irreversible
|
|
111
|
+
behavior or data loss; money/privilege/safety; production-state mutation.
|
|
112
|
+
- **Other material risks:** external-provider failure, cost limits, migration,
|
|
113
|
+
compatibility, concurrency, compliance, maintainability, or unavailable proof.
|
|
170
114
|
|
|
171
|
-
|
|
115
|
+
Explain the verified risk and viable consequences before asking. Do not create a
|
|
116
|
+
ceremonial risk matrix.
|
|
172
117
|
|
|
173
|
-
|
|
174
|
-
> - "Defer STT for MVP (Recommended)" — Ships faster; no fragile audio extraction now.
|
|
175
|
-
> - "Browser-only STT" — No backend, but fragile and heavy.
|
|
176
|
-
> - "Companion backend" — More robust, but requires hosting and ops.
|
|
118
|
+
## Evidence calibration
|
|
177
119
|
|
|
178
|
-
|
|
120
|
+
Keep these independent in every recommendation:
|
|
179
121
|
|
|
180
|
-
|
|
122
|
+
- **Feasibility:** `confirmed | plausible | unknown | infeasible`.
|
|
123
|
+
- **Confidence:** `high | medium | low`.
|
|
124
|
+
- **Disposition:** `chosen | rejected | deferred`.
|
|
181
125
|
|
|
182
|
-
|
|
126
|
+
Every value cites its repository/current-research evidence or stated basis.
|
|
127
|
+
Missing evidence forces feasibility `unknown` and confidence `low`; it never
|
|
128
|
+
becomes a confident guess. A numeric estimate is valid only with range, unit,
|
|
129
|
+
basis, evidence, and assumptions. Otherwise write `unknown`, not a factual
|
|
130
|
+
number. Record why an inapplicable Deep lens was skipped so selective analysis
|
|
131
|
+
is auditable without forcing ceremony.
|
|
183
132
|
|
|
184
|
-
|
|
133
|
+
## Question format
|
|
185
134
|
|
|
186
|
-
Use
|
|
135
|
+
Use the runtime's native structured user-input tool when available.
|
|
187
136
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
Do not force a choice before explaining hidden technical risk.
|
|
137
|
+
- Give 2–4 concrete options and put the recommended one first.
|
|
138
|
+
- Explain one consequence per option; do not use abstract “Option A” labels.
|
|
139
|
+
- Do not add an explicit Other choice when the runtime supplies it.
|
|
140
|
+
- If the user cannot know a hidden technical fact, explain it before asking.
|
|
194
141
|
|
|
195
142
|
## Decision Register
|
|
196
143
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
```markdown
|
|
200
|
-
## Decision Register
|
|
144
|
+
For a durable delivery summary, record only decisions actually made:
|
|
201
145
|
|
|
202
|
-
| ID | Question | Options
|
|
146
|
+
| ID | Question | Options | User Decision | Rationale | Impact |
|
|
203
147
|
|---|---|---|---|---|---|
|
|
204
|
-
| D-001 |
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
Rules:
|
|
208
|
-
|
|
209
|
-
- Record only decisions actually made by the user or explicitly accepted in chat.
|
|
210
|
-
- Do not write "user selected" unless `AskUserQuestion` or direct user text confirms it.
|
|
211
|
-
- If you infer a default, label it as `Assumption`, not `User Decision`.
|
|
212
|
-
- Carry unresolved decisions into `Open Questions`.
|
|
213
|
-
|
|
214
|
-
## Maximum Question Budget
|
|
148
|
+
| D-001 | <material choice> | <options shown> | <confirmed answer> | <why> | <effect> |
|
|
215
149
|
|
|
216
|
-
|
|
150
|
+
- Do not write "user selected" unless direct user text or the native input tool
|
|
151
|
+
confirms it.
|
|
152
|
+
- Label inferred defaults as `Assumption`, not `User Decision`.
|
|
153
|
+
- Carry truly blocking unknowns into `Open Questions`; defer safe defaults.
|
|
217
154
|
|
|
218
|
-
|
|
219
|
-
- Medium feature: 3-6 questions.
|
|
220
|
-
- Large/greenfield/architecture-heavy: 6-10 questions across multiple rounds.
|
|
155
|
+
## Question budget
|
|
221
156
|
|
|
222
|
-
|
|
157
|
+
- Small change: usually 1–2.
|
|
158
|
+
- Medium feature: usually 3–6.
|
|
159
|
+
- Large or architecture-heavy work: usually 6–10 across rounds.
|
|
223
160
|
|
|
224
|
-
|
|
161
|
+
Budgets are ceilings, not targets. Non-bug exploration may need no approval
|
|
162
|
+
question; an accepted contract may need only one missing-field question.
|
|
225
163
|
|
|
226
|
-
|
|
164
|
+
## Final self-check
|
|
227
165
|
|
|
228
|
-
- Did
|
|
229
|
-
-
|
|
230
|
-
-
|
|
231
|
-
- Are assumptions
|
|
232
|
-
-
|
|
166
|
+
- Did direct routing happen before scout and questions?
|
|
167
|
+
- Is each question tied to a user-owned contract field or material risk?
|
|
168
|
+
- Were technical facts discovered instead of delegated to the user?
|
|
169
|
+
- Are decisions, assumptions, and open questions separated?
|
|
170
|
+
- Would another question materially change the outcome?
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: cf:chrome-devtools
|
|
3
3
|
description: Automate browsers with Puppeteer CLI scripts and persistent sessions. Use for screenshots, performance analysis, network monitoring, web scraping, form automation, JavaScript debugging.
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
user-invocable: true
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: cf:code-review
|
|
3
3
|
description: "Review a change for correctness, security, and specification compliance without owning execution proof."
|
|
4
4
|
user-invocable: true
|
|
5
5
|
when_to_use: "Use for a pending diff, commit, PR, or explicitly scoped review."
|
|
@@ -14,14 +14,21 @@ metadata:
|
|
|
14
14
|
|
|
15
15
|
Review evaluates correctness, security, scope, architecture, and specification
|
|
16
16
|
compliance. It does not execute the test suite, create a canonical execution
|
|
17
|
-
receipt, or turn a missing test result into a review-owned proof. `
|
|
17
|
+
receipt, or turn a missing test result into a review-owned proof. `cf:test`
|
|
18
18
|
owns execution proof; the single closeout owner combines both results.
|
|
19
19
|
|
|
20
20
|
## Input and depth
|
|
21
21
|
|
|
22
22
|
With no argument, review the pending diff. Supported targets are a PR, commit,
|
|
23
|
-
pending changes, or an explicit path. Load only
|
|
24
|
-
|
|
23
|
+
pending changes, or an explicit path. Load only current target bytes and needed
|
|
24
|
+
references. For a valid process-first target, read `plan.md`, the active flat
|
|
25
|
+
`task-NN-*.md`, and the controller-validated `test-proof-v1` handoff. Mixed,
|
|
26
|
+
orphaned, malformed, symlinked, nonregular, or identity-conflicting packet state
|
|
27
|
+
is `BLOCKED`; review never migrates it.
|
|
28
|
+
|
|
29
|
+
For process-first proof consumption, this skill's `## Execution-proof boundary`
|
|
30
|
+
is authoritative. Do not load or follow legacy separate-receipt paragraphs from
|
|
31
|
+
references; they apply only after the Legacy route below is selected.
|
|
25
32
|
|
|
26
33
|
Select review depth from `assurance_level`, risk, and blast radius. Lane is a
|
|
27
34
|
derived view:
|
|
@@ -38,10 +45,9 @@ fixed Light/Standard/Deep sequence.
|
|
|
38
45
|
|
|
39
46
|
### 1. Specification compliance
|
|
40
47
|
|
|
41
|
-
|
|
42
|
-
Outcome
|
|
43
|
-
|
|
44
|
-
runtime reachability. Identify missing behavior,
|
|
48
|
+
For process-first work, compare the diff with current plan scope and the active
|
|
49
|
+
task's Outcome, Scope, Coverage, Ownership, Acceptance, Dependencies,
|
|
50
|
+
Verification Plan, and declared runtime reachability. Identify missing behavior,
|
|
45
51
|
unjustified extras, contract substitution, orphaned outputs, and incorrect
|
|
46
52
|
completion claims. If a design image or document carries requirements, load its
|
|
47
53
|
multimodal reference only when needed; do not guess from a filename.
|
|
@@ -69,18 +75,20 @@ provenance is insufficient.
|
|
|
69
75
|
|
|
70
76
|
## Execution-proof boundary
|
|
71
77
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
78
|
+
For process-first work, consume only the controller-validated `test-proof-v1`
|
|
79
|
+
handoff. Require its exact closed schema, stable digest, current Base/Head,
|
|
80
|
+
target task, exact command, exit/counts, raw output, reachability, proof level,
|
|
81
|
+
artifacts, branches, and redactions. Unknown keys/verdicts, duplicate or missing
|
|
82
|
+
branches, stale provenance, zero execution, required skips, unsafe redaction, or
|
|
83
|
+
`PASS_WITH_WARNINGS` remain unfinished. Never create or search for a separate
|
|
84
|
+
process-first receipt; Develop alone writes Status and inline `## Receipt` after
|
|
85
|
+
proof and review are both literal `PASS`.
|
|
86
|
+
|
|
87
|
+
Never rerun commands to manufacture proof. If execution proof is missing or
|
|
88
|
+
invalid, say `execution proof unavailable` and leave closeout unfinished; do not
|
|
89
|
+
claim feature PASS from review alone. A review may still return a correctness
|
|
90
|
+
verdict when its review inputs are complete, but that verdict is not execution
|
|
91
|
+
proof or C3 approval.
|
|
84
92
|
|
|
85
93
|
## Verdict
|
|
86
94
|
|
|
@@ -99,12 +107,12 @@ closeout result; only literal `PASS` can finish a task. `BLOCKED` means the revi
|
|
|
99
107
|
decision is unavailable.
|
|
100
108
|
|
|
101
109
|
```markdown
|
|
102
|
-
# Code Review Results [
|
|
110
|
+
# Code Review Results [cf:code-review]
|
|
103
111
|
|
|
104
112
|
**Verdict:** PASS | PASS_WITH_WARNINGS | FAIL | BLOCKED
|
|
105
113
|
**Target:** [PR | Commit | Path]
|
|
106
114
|
**Assurance / risk:** [canonical policy input and relevant signals]
|
|
107
|
-
**Execution proof:** consumed | unavailable (owned by
|
|
115
|
+
**Execution proof:** test-proof-v1 consumed | unavailable (owned by cf:test)
|
|
108
116
|
|
|
109
117
|
## Findings
|
|
110
118
|
- [Critical|High|Medium|Low] path:line — issue, failure scenario, evidence,
|
|
@@ -119,10 +127,20 @@ decision is unavailable.
|
|
|
119
127
|
Do not add a test command, a fabricated receipt, or an `Audit: PASS` marker to
|
|
120
128
|
make the review look complete. Return unresolved questions at the end.
|
|
121
129
|
|
|
130
|
+
## Legacy workflow compatibility
|
|
131
|
+
|
|
132
|
+
For a valid legacy packet only, retain its current spec/task resolution,
|
|
133
|
+
separate `receipts/<task-basename>.md` fallback, feature receipt, persisted audit
|
|
134
|
+
obligations, and legacy verdict normalization. If separate and embedded legacy
|
|
135
|
+
proof identities conflict, fail closed. Never copy that adapter into a flat
|
|
136
|
+
process-first packet.
|
|
137
|
+
|
|
122
138
|
## References
|
|
123
139
|
|
|
124
|
-
- `references/spec-compliance-review.md` — load
|
|
140
|
+
- `references/spec-compliance-review.md` — load only its detailed scope checks;
|
|
141
|
+
its separate-receipt paragraph is Legacy-only.
|
|
125
142
|
- `references/pre-landing-checklists.md` — load for the selected risk surface.
|
|
126
143
|
- `references/adversarial-review.md` — load for Critical/adversarial depth.
|
|
127
|
-
- `references/verification-gate.md` — receipt consumption only;
|
|
128
|
-
|
|
144
|
+
- `references/verification-gate.md` — Legacy separate-receipt consumption only;
|
|
145
|
+
process-first proof uses this skill's execution-proof boundary. Execution
|
|
146
|
+
always stays with `cf:test`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-compliance-review
|
|
3
|
-
description: Hapo native protocol for verifying core implementation requirements using multimodal visual validation
|
|
3
|
+
description: Hapo native protocol for verifying core implementation requirements, using multimodal visual validation when available.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Spec Compliance Review (Stage 1)
|
|
@@ -19,8 +19,7 @@ Do not attempt a standard text-based review if the project includes Visual Specs
|
|
|
19
19
|
|
|
20
20
|
**Spec Detection Algorithm:**
|
|
21
21
|
1. Check if the `.specs/` directory, user instructions, or Jira tickets contain attached Image files (`.png`, `.jpg`, `.svg`) or Documents (`.pdf`).
|
|
22
|
-
2. If YES:
|
|
23
|
-
- *Prompt:* "Hey `hapo:ai-multimodal`, please look at this design mockup/document and compare it with the layout/logic described in this Code. Are there any discrepancies?"
|
|
22
|
+
2. If YES: use **`cf:ai-multimodal` when installed**, or the runtime's available multimodal capability. If neither is available, mark visual comparison `UNPROVEN` and continue the non-visual review.
|
|
24
23
|
3. If NO (Markdown Spec only): Read the spec directly and extract:
|
|
25
24
|
- requirement bullets
|
|
26
25
|
- task `Outcome`, `Scope`, `Anchors and Ownership`, `Changes`, `Acceptance`,
|
|
@@ -42,7 +41,7 @@ Each Requirement in the Spec must return 1 of 3 states:
|
|
|
42
41
|
- `[PASS]` Fully implemented. Proceed to Code Quality Review.
|
|
43
42
|
- `[MISSING]` Forgotten feature. Force the Developer to add it immediately (BLOCK MERGE).
|
|
44
43
|
- `[EXTRA]` The code has bloated with spontaneous features not in the spec card. If unjustified -> FAIL.
|
|
45
|
-
- `[VISUAL_MISMATCH]` (For UI Design):
|
|
44
|
+
- `[VISUAL_MISMATCH]` (For UI Design): Available multimodal evidence indicates this screen will break layout or violate the Design System.
|
|
46
45
|
- `[UNPROVEN]` Required artifact/runtime behavior or verification evidence is missing, so completion cannot be trusted.
|
|
47
46
|
|
|
48
47
|
## 4. Red Flags
|
|
@@ -25,7 +25,7 @@ To clear the Verification Gate, you must cite one of the following concrete proo
|
|
|
25
25
|
- **Test Suite Logs:** Output showing tests ran and passed (e.g., `PASS src/components/Login.test.tsx`).
|
|
26
26
|
- **Compilation/Build Status:** Terminal output proving the typescript compiler (`tsc`) or bundler succeeded with `Exit code: 0`.
|
|
27
27
|
- **Linter Completion:** Output proving no syntax errors exist.
|
|
28
|
-
- **Multimodal Visual Evidence:** `
|
|
28
|
+
- **Multimodal Visual Evidence:** `cf:ai-multimodal` when installed, or another available runtime visual capability; otherwise report visual parity as `UNPROVEN`.
|
|
29
29
|
|
|
30
30
|
For Specs v2, accepted proof must be persisted by the test owner at
|
|
31
31
|
`receipts/<task-basename>.md`; legacy `## Evidence` remains fallback-only. The
|