singularity-forge/src
Mikael Hugo a8cf2cd941 feat(workflow): add product-audit (slim port)
Milestone-end workflow that compares declared product intent (VISION.md,
RUNBOOKS.md, etc.) against actual code/test/deploy/docs evidence and
emits structured gaps with severity. Soft gates — adds follow-up slices
but doesn't hard-block merge.

Slim port (4 new files + 1 registration) — extracts only the audit
feature itself, not bunker's parallel rewrite of dispatch/prompts/
benchmark-selector that came with it in commit 2aa785475.

Created:
- prompts/product-audit.md         — prompt verbatim, gsd_*→sf_* and .gsd→.sf
- tools/product-audit-tool.ts      — slim file-write implementation,
                                     atomicWriteAsync to .sf/active/{mid}/
                                     PRODUCT-AUDIT.{json,md}; no DB deps
- bootstrap/product-audit-tool.ts  — pi-coding-agent tool registration,
                                     TypeBox schema for sf_product_audit
- workflow-templates/product-audit.md — workflow template

Modified:
- bootstrap/register-extension.ts  — 2 lines: import + add to nonCriticalRegistrations
- workflow-templates/registry.json — registry entry
- package.json — version 2.75.0 → 2.75.1

Verdict logic (no-gaps | gaps-found | contract-underspecified) is the
load-bearing innovation: contract-underspecified forces the auditor to
flag unverifiable docs as a real gap rather than rubber-stamping
no-gaps when the product contract is silent.

Out of scope: phase enum changes, dispatch hookup. Wire-up to the phase
machine is a follow-up; the prompt + tool + template stand alone.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 13:55:23 +02:00
..
resources feat(workflow): add product-audit (slim port) 2026-04-29 13:55:23 +02:00
tests batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
web batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
app-paths.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
bundled-extension-paths.ts Fix packaging verification and path portability (#378) 2026-03-14 12:28:14 -06:00
bundled-resource-path.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
claude-cli-check.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
cli-logs.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
cli-stats.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
cli-status.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
cli-web-branch.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
cli.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
extension-discovery.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
extension-registry.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
headless-answers.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
headless-context.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
headless-events.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
headless-query.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
headless-types.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
headless-ui.ts fix(headless): suppress notification spam, categorize messages, distinguish phase vs status 2026-04-29 13:43:40 +02:00
headless.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
help-text.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
loader.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
logo.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
mcp-server.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
models-resolver.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
onboarding.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
pi-migration.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
project-sessions.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
provider-migrations.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
remote-questions-config.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
resource-loader.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
rtk.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
security-overrides.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
startup-model-validation.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
startup-timings.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
tool-bootstrap.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
traces.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
update-check.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
update-cmd.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
web-mode.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
welcome-screen.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
wizard.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
worktree-cli.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00
worktree-name-gen.ts batch: snapshot of in-flight v2 work 2026-04-29 12:42:31 +02:00