@isaacriehm/cairn 0.1.0 → 0.1.4
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/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/backprop/id.d.ts +0 -14
- package/dist/backprop/id.js +0 -40
- package/dist/backprop/id.js.map +0 -1
- package/dist/backprop/index.d.ts +0 -23
- package/dist/backprop/index.js +0 -21
- package/dist/backprop/index.js.map +0 -1
- package/dist/backprop/prompt.d.ts +0 -16
- package/dist/backprop/prompt.js +0 -101
- package/dist/backprop/prompt.js.map +0 -1
- package/dist/backprop/runner.d.ts +0 -18
- package/dist/backprop/runner.js +0 -95
- package/dist/backprop/runner.js.map +0 -1
- package/dist/backprop/schema.d.ts +0 -61
- package/dist/backprop/schema.js +0 -55
- package/dist/backprop/schema.js.map +0 -1
- package/dist/backprop/types.d.ts +0 -101
- package/dist/backprop/types.js +0 -24
- package/dist/backprop/types.js.map +0 -1
- package/dist/backprop/writer.d.ts +0 -27
- package/dist/backprop/writer.js +0 -301
- package/dist/backprop/writer.js.map +0 -1
- package/dist/claude/error.d.ts +0 -33
- package/dist/claude/error.js +0 -58
- package/dist/claude/error.js.map +0 -1
- package/dist/claude/index.d.ts +0 -3
- package/dist/claude/index.js +0 -3
- package/dist/claude/index.js.map +0 -1
- package/dist/claude/runner.d.ts +0 -11
- package/dist/claude/runner.js +0 -132
- package/dist/claude/runner.js.map +0 -1
- package/dist/claude/types.d.ts +0 -52
- package/dist/claude/types.js +0 -14
- package/dist/claude/types.js.map +0 -1
- package/dist/cli/daemon.d.ts +0 -54
- package/dist/cli/daemon.js +0 -351
- package/dist/cli/daemon.js.map +0 -1
- package/dist/cli/install.d.ts +0 -52
- package/dist/cli/install.js +0 -308
- package/dist/cli/install.js.map +0 -1
- package/dist/cli/mirror.d.ts +0 -1
- package/dist/cli/mirror.js +0 -97
- package/dist/cli/mirror.js.map +0 -1
- package/dist/cli/run.d.ts +0 -1
- package/dist/cli/run.js +0 -174
- package/dist/cli/run.js.map +0 -1
- package/dist/cli/task.d.ts +0 -18
- package/dist/cli/task.js +0 -137
- package/dist/cli/task.js.map +0 -1
- package/dist/cli/watch.d.ts +0 -1
- package/dist/cli/watch.js +0 -73
- package/dist/cli/watch.js.map +0 -1
- package/dist/decision-capture/capture.d.ts +0 -57
- package/dist/decision-capture/capture.js +0 -186
- package/dist/decision-capture/capture.js.map +0 -1
- package/dist/decision-capture/extractor.d.ts +0 -20
- package/dist/decision-capture/extractor.js +0 -103
- package/dist/decision-capture/extractor.js.map +0 -1
- package/dist/decision-capture/id.d.ts +0 -14
- package/dist/decision-capture/id.js +0 -44
- package/dist/decision-capture/id.js.map +0 -1
- package/dist/decision-capture/index.d.ts +0 -25
- package/dist/decision-capture/index.js +0 -21
- package/dist/decision-capture/index.js.map +0 -1
- package/dist/decision-capture/prompt.d.ts +0 -15
- package/dist/decision-capture/prompt.js +0 -68
- package/dist/decision-capture/prompt.js.map +0 -1
- package/dist/decision-capture/refinement-prompt.d.ts +0 -25
- package/dist/decision-capture/refinement-prompt.js +0 -146
- package/dist/decision-capture/refinement-prompt.js.map +0 -1
- package/dist/decision-capture/refinement-schema.d.ts +0 -52
- package/dist/decision-capture/refinement-schema.js +0 -61
- package/dist/decision-capture/refinement-schema.js.map +0 -1
- package/dist/decision-capture/refinement.d.ts +0 -60
- package/dist/decision-capture/refinement.js +0 -439
- package/dist/decision-capture/refinement.js.map +0 -1
- package/dist/decision-capture/schema.d.ts +0 -70
- package/dist/decision-capture/schema.js +0 -71
- package/dist/decision-capture/schema.js.map +0 -1
- package/dist/decision-capture/types.d.ts +0 -201
- package/dist/decision-capture/types.js +0 -20
- package/dist/decision-capture/types.js.map +0 -1
- package/dist/decision-capture/writer.d.ts +0 -90
- package/dist/decision-capture/writer.js +0 -267
- package/dist/decision-capture/writer.js.map +0 -1
- package/dist/frontend/discord/acl.d.ts +0 -6
- package/dist/frontend/discord/acl.js +0 -19
- package/dist/frontend/discord/acl.js.map +0 -1
- package/dist/frontend/discord/channels.d.ts +0 -29
- package/dist/frontend/discord/channels.js +0 -58
- package/dist/frontend/discord/channels.js.map +0 -1
- package/dist/frontend/discord/classifier.d.ts +0 -16
- package/dist/frontend/discord/classifier.js +0 -29
- package/dist/frontend/discord/classifier.js.map +0 -1
- package/dist/frontend/discord/index.d.ts +0 -118
- package/dist/frontend/discord/index.js +0 -1104
- package/dist/frontend/discord/index.js.map +0 -1
- package/dist/frontend/discord/slash.d.ts +0 -18
- package/dist/frontend/discord/slash.js +0 -90
- package/dist/frontend/discord/slash.js.map +0 -1
- package/dist/frontend/inbox.d.ts +0 -17
- package/dist/frontend/inbox.js +0 -30
- package/dist/frontend/inbox.js.map +0 -1
- package/dist/frontend/index.d.ts +0 -8
- package/dist/frontend/index.js +0 -6
- package/dist/frontend/index.js.map +0 -1
- package/dist/frontend/stub/index.d.ts +0 -58
- package/dist/frontend/stub/index.js +0 -144
- package/dist/frontend/stub/index.js.map +0 -1
- package/dist/frontend/types.d.ts +0 -247
- package/dist/frontend/types.js +0 -15
- package/dist/frontend/types.js.map +0 -1
- package/dist/gc/apply.d.ts +0 -26
- package/dist/gc/apply.js +0 -48
- package/dist/gc/apply.js.map +0 -1
- package/dist/gc/canary.d.ts +0 -42
- package/dist/gc/canary.js +0 -134
- package/dist/gc/canary.js.map +0 -1
- package/dist/gc/classify.d.ts +0 -25
- package/dist/gc/classify.js +0 -89
- package/dist/gc/classify.js.map +0 -1
- package/dist/gc/doc-gardening.d.ts +0 -29
- package/dist/gc/doc-gardening.js +0 -146
- package/dist/gc/doc-gardening.js.map +0 -1
- package/dist/gc/frontmatter.d.ts +0 -35
- package/dist/gc/frontmatter.js +0 -111
- package/dist/gc/frontmatter.js.map +0 -1
- package/dist/gc/generator-drift.d.ts +0 -28
- package/dist/gc/generator-drift.js +0 -53
- package/dist/gc/generator-drift.js.map +0 -1
- package/dist/gc/index.d.ts +0 -35
- package/dist/gc/index.js +0 -26
- package/dist/gc/index.js.map +0 -1
- package/dist/gc/quality-update.d.ts +0 -23
- package/dist/gc/quality-update.js +0 -69
- package/dist/gc/quality-update.js.map +0 -1
- package/dist/gc/stub-hits.d.ts +0 -31
- package/dist/gc/stub-hits.js +0 -125
- package/dist/gc/stub-hits.js.map +0 -1
- package/dist/gc/sweep.d.ts +0 -56
- package/dist/gc/sweep.js +0 -178
- package/dist/gc/sweep.js.map +0 -1
- package/dist/gc/types.d.ts +0 -129
- package/dist/gc/types.js +0 -26
- package/dist/gc/types.js.map +0 -1
- package/dist/ground/drift.d.ts +0 -8
- package/dist/ground/drift.js +0 -23
- package/dist/ground/drift.js.map +0 -1
- package/dist/ground/frontmatter.d.ts +0 -20
- package/dist/ground/frontmatter.js +0 -49
- package/dist/ground/frontmatter.js.map +0 -1
- package/dist/ground/glob.d.ts +0 -10
- package/dist/ground/glob.js +0 -46
- package/dist/ground/glob.js.map +0 -1
- package/dist/ground/index.d.ts +0 -14
- package/dist/ground/index.js +0 -10
- package/dist/ground/index.js.map +0 -1
- package/dist/ground/ledgers.d.ts +0 -18
- package/dist/ground/ledgers.js +0 -103
- package/dist/ground/ledgers.js.map +0 -1
- package/dist/ground/manifest.d.ts +0 -10
- package/dist/ground/manifest.js +0 -88
- package/dist/ground/manifest.js.map +0 -1
- package/dist/ground/paths.d.ts +0 -20
- package/dist/ground/paths.js +0 -61
- package/dist/ground/paths.js.map +0 -1
- package/dist/ground/quality-grades.d.ts +0 -11
- package/dist/ground/quality-grades.js +0 -98
- package/dist/ground/quality-grades.js.map +0 -1
- package/dist/ground/schemas.d.ts +0 -306
- package/dist/ground/schemas.js +0 -188
- package/dist/ground/schemas.js.map +0 -1
- package/dist/ground/walk.d.ts +0 -7
- package/dist/ground/walk.js +0 -53
- package/dist/ground/walk.js.map +0 -1
- package/dist/init/detect.d.ts +0 -25
- package/dist/init/detect.js +0 -336
- package/dist/init/detect.js.map +0 -1
- package/dist/init/index.d.ts +0 -14
- package/dist/init/index.js +0 -9
- package/dist/init/index.js.map +0 -1
- package/dist/init/init.d.ts +0 -68
- package/dist/init/init.js +0 -673
- package/dist/init/init.js.map +0 -1
- package/dist/init/mapper.d.ts +0 -160
- package/dist/init/mapper.js +0 -248
- package/dist/init/mapper.js.map +0 -1
- package/dist/init/prompts.d.ts +0 -70
- package/dist/init/prompts.js +0 -80
- package/dist/init/prompts.js.map +0 -1
- package/dist/init/secrets.d.ts +0 -18
- package/dist/init/secrets.js +0 -76
- package/dist/init/secrets.js.map +0 -1
- package/dist/init/seed.d.ts +0 -21
- package/dist/init/seed.js +0 -75
- package/dist/init/seed.js.map +0 -1
- package/dist/init/setup-runners.d.ts +0 -17
- package/dist/init/setup-runners.js +0 -70
- package/dist/init/setup-runners.js.map +0 -1
- package/dist/init/types.d.ts +0 -59
- package/dist/init/types.js +0 -10
- package/dist/init/types.js.map +0 -1
- package/dist/init/walker.d.ts +0 -53
- package/dist/init/walker.js +0 -460
- package/dist/init/walker.js.map +0 -1
- package/dist/init/workflow-block.d.ts +0 -34
- package/dist/init/workflow-block.js +0 -110
- package/dist/init/workflow-block.js.map +0 -1
- package/dist/logger.d.ts +0 -3
- package/dist/logger.js +0 -23
- package/dist/logger.js.map +0 -1
- package/dist/mcp/context.d.ts +0 -16
- package/dist/mcp/context.js +0 -8
- package/dist/mcp/context.js.map +0 -1
- package/dist/mcp/errors.d.ts +0 -17
- package/dist/mcp/errors.js +0 -23
- package/dist/mcp/errors.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -10
- package/dist/mcp/index.js +0 -7
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/path-allowlist.d.ts +0 -25
- package/dist/mcp/path-allowlist.js +0 -66
- package/dist/mcp/path-allowlist.js.map +0 -1
- package/dist/mcp/result.d.ts +0 -8
- package/dist/mcp/result.js +0 -18
- package/dist/mcp/result.js.map +0 -1
- package/dist/mcp/schemas.d.ts +0 -153
- package/dist/mcp/schemas.js +0 -135
- package/dist/mcp/schemas.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -11
- package/dist/mcp/server.js +0 -58
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/telemetry.d.ts +0 -15
- package/dist/mcp/telemetry.js +0 -13
- package/dist/mcp/telemetry.js.map +0 -1
- package/dist/mcp/tools/append.d.ts +0 -8
- package/dist/mcp/tools/append.js +0 -33
- package/dist/mcp/tools/append.js.map +0 -1
- package/dist/mcp/tools/archive.d.ts +0 -8
- package/dist/mcp/tools/archive.js +0 -49
- package/dist/mcp/tools/archive.js.map +0 -1
- package/dist/mcp/tools/ask-operator.d.ts +0 -34
- package/dist/mcp/tools/ask-operator.js +0 -93
- package/dist/mcp/tools/ask-operator.js.map +0 -1
- package/dist/mcp/tools/canonical-for-topic.d.ts +0 -6
- package/dist/mcp/tools/canonical-for-topic.js +0 -40
- package/dist/mcp/tools/canonical-for-topic.js.map +0 -1
- package/dist/mcp/tools/decision-get.d.ts +0 -6
- package/dist/mcp/tools/decision-get.js +0 -49
- package/dist/mcp/tools/decision-get.js.map +0 -1
- package/dist/mcp/tools/decisions-for-symbol.d.ts +0 -7
- package/dist/mcp/tools/decisions-for-symbol.js +0 -42
- package/dist/mcp/tools/decisions-for-symbol.js.map +0 -1
- package/dist/mcp/tools/decisions-in-scope.d.ts +0 -7
- package/dist/mcp/tools/decisions-in-scope.js +0 -47
- package/dist/mcp/tools/decisions-in-scope.js.map +0 -1
- package/dist/mcp/tools/drop-task.d.ts +0 -12
- package/dist/mcp/tools/drop-task.js +0 -47
- package/dist/mcp/tools/drop-task.js.map +0 -1
- package/dist/mcp/tools/get-full.d.ts +0 -7
- package/dist/mcp/tools/get-full.js +0 -46
- package/dist/mcp/tools/get-full.js.map +0 -1
- package/dist/mcp/tools/ground-get.d.ts +0 -7
- package/dist/mcp/tools/ground-get.js +0 -80
- package/dist/mcp/tools/ground-get.js.map +0 -1
- package/dist/mcp/tools/index.d.ts +0 -3
- package/dist/mcp/tools/index.js +0 -44
- package/dist/mcp/tools/index.js.map +0 -1
- package/dist/mcp/tools/invariant-get.d.ts +0 -6
- package/dist/mcp/tools/invariant-get.js +0 -49
- package/dist/mcp/tools/invariant-get.js.map +0 -1
- package/dist/mcp/tools/invariants-in-scope.d.ts +0 -7
- package/dist/mcp/tools/invariants-in-scope.js +0 -65
- package/dist/mcp/tools/invariants-in-scope.js.map +0 -1
- package/dist/mcp/tools/query-history.d.ts +0 -9
- package/dist/mcp/tools/query-history.js +0 -33
- package/dist/mcp/tools/query-history.js.map +0 -1
- package/dist/mcp/tools/record-decision.d.ts +0 -14
- package/dist/mcp/tools/record-decision.js +0 -101
- package/dist/mcp/tools/record-decision.js.map +0 -1
- package/dist/mcp/tools/record-run-event.d.ts +0 -10
- package/dist/mcp/tools/record-run-event.js +0 -28
- package/dist/mcp/tools/record-run-event.js.map +0 -1
- package/dist/mcp/tools/search.d.ts +0 -9
- package/dist/mcp/tools/search.js +0 -165
- package/dist/mcp/tools/search.js.map +0 -1
- package/dist/mcp/tools/supersedes-chain.d.ts +0 -6
- package/dist/mcp/tools/supersedes-chain.js +0 -66
- package/dist/mcp/tools/supersedes-chain.js.map +0 -1
- package/dist/mcp/tools/timeline.d.ts +0 -9
- package/dist/mcp/tools/timeline.js +0 -65
- package/dist/mcp/tools/timeline.js.map +0 -1
- package/dist/mcp/tools/types.d.ts +0 -9
- package/dist/mcp/tools/types.js +0 -2
- package/dist/mcp/tools/types.js.map +0 -1
- package/dist/mirror/clone.d.ts +0 -6
- package/dist/mirror/clone.js +0 -48
- package/dist/mirror/clone.js.map +0 -1
- package/dist/mirror/dirty-overlap.d.ts +0 -13
- package/dist/mirror/dirty-overlap.js +0 -77
- package/dist/mirror/dirty-overlap.js.map +0 -1
- package/dist/mirror/index.d.ts +0 -7
- package/dist/mirror/index.js +0 -7
- package/dist/mirror/index.js.map +0 -1
- package/dist/mirror/paths.d.ts +0 -18
- package/dist/mirror/paths.js +0 -45
- package/dist/mirror/paths.js.map +0 -1
- package/dist/mirror/push.d.ts +0 -9
- package/dist/mirror/push.js +0 -27
- package/dist/mirror/push.js.map +0 -1
- package/dist/mirror/state.d.ts +0 -4
- package/dist/mirror/state.js +0 -36
- package/dist/mirror/state.js.map +0 -1
- package/dist/mirror/sync.d.ts +0 -9
- package/dist/mirror/sync.js +0 -33
- package/dist/mirror/sync.js.map +0 -1
- package/dist/mirror/types.d.ts +0 -77
- package/dist/mirror/types.js +0 -2
- package/dist/mirror/types.js.map +0 -1
- package/dist/orchestrator/activity-summarizer.d.ts +0 -33
- package/dist/orchestrator/activity-summarizer.js +0 -120
- package/dist/orchestrator/activity-summarizer.js.map +0 -1
- package/dist/orchestrator/inbox.d.ts +0 -78
- package/dist/orchestrator/inbox.js +0 -115
- package/dist/orchestrator/inbox.js.map +0 -1
- package/dist/orchestrator/index.d.ts +0 -9
- package/dist/orchestrator/index.js +0 -7
- package/dist/orchestrator/index.js.map +0 -1
- package/dist/orchestrator/orchestrator.d.ts +0 -154
- package/dist/orchestrator/orchestrator.js +0 -2437
- package/dist/orchestrator/orchestrator.js.map +0 -1
- package/dist/orchestrator/prompt.d.ts +0 -19
- package/dist/orchestrator/prompt.js +0 -50
- package/dist/orchestrator/prompt.js.map +0 -1
- package/dist/orchestrator/queue.d.ts +0 -21
- package/dist/orchestrator/queue.js +0 -80
- package/dist/orchestrator/queue.js.map +0 -1
- package/dist/orchestrator/run-log.d.ts +0 -53
- package/dist/orchestrator/run-log.js +0 -92
- package/dist/orchestrator/run-log.js.map +0 -1
- package/dist/orchestrator/runner.d.ts +0 -56
- package/dist/orchestrator/runner.js +0 -172
- package/dist/orchestrator/runner.js.map +0 -1
- package/dist/orchestrator/tool-digest.d.ts +0 -35
- package/dist/orchestrator/tool-digest.js +0 -116
- package/dist/orchestrator/tool-digest.js.map +0 -1
- package/dist/orchestrator/types.d.ts +0 -263
- package/dist/orchestrator/types.js +0 -2
- package/dist/orchestrator/types.js.map +0 -1
- package/dist/orchestrator/workspace.d.ts +0 -21
- package/dist/orchestrator/workspace.js +0 -31
- package/dist/orchestrator/workspace.js.map +0 -1
- package/dist/profiles/index.d.ts +0 -3
- package/dist/profiles/index.js +0 -3
- package/dist/profiles/index.js.map +0 -1
- package/dist/profiles/registry.d.ts +0 -5
- package/dist/profiles/registry.js +0 -31
- package/dist/profiles/registry.js.map +0 -1
- package/dist/profiles/types.d.ts +0 -48
- package/dist/profiles/types.js +0 -11
- package/dist/profiles/types.js.map +0 -1
- package/dist/profiles/unknown.d.ts +0 -9
- package/dist/profiles/unknown.js +0 -17
- package/dist/profiles/unknown.js.map +0 -1
- package/dist/reviewer/index.d.ts +0 -6
- package/dist/reviewer/index.js +0 -5
- package/dist/reviewer/index.js.map +0 -1
- package/dist/reviewer/prompt.d.ts +0 -11
- package/dist/reviewer/prompt.js +0 -132
- package/dist/reviewer/prompt.js.map +0 -1
- package/dist/reviewer/remediation.d.ts +0 -15
- package/dist/reviewer/remediation.js +0 -61
- package/dist/reviewer/remediation.js.map +0 -1
- package/dist/reviewer/reviewer.d.ts +0 -9
- package/dist/reviewer/reviewer.js +0 -89
- package/dist/reviewer/reviewer.js.map +0 -1
- package/dist/reviewer/schema.d.ts +0 -45
- package/dist/reviewer/schema.js +0 -43
- package/dist/reviewer/schema.js.map +0 -1
- package/dist/reviewer/types.d.ts +0 -74
- package/dist/reviewer/types.js +0 -14
- package/dist/reviewer/types.js.map +0 -1
- package/dist/sensors/attestation.d.ts +0 -44
- package/dist/sensors/attestation.js +0 -262
- package/dist/sensors/attestation.js.map +0 -1
- package/dist/sensors/catalog.d.ts +0 -41
- package/dist/sensors/catalog.js +0 -123
- package/dist/sensors/catalog.js.map +0 -1
- package/dist/sensors/decisions.d.ts +0 -30
- package/dist/sensors/decisions.js +0 -393
- package/dist/sensors/decisions.js.map +0 -1
- package/dist/sensors/diff.d.ts +0 -27
- package/dist/sensors/diff.js +0 -148
- package/dist/sensors/diff.js.map +0 -1
- package/dist/sensors/index.d.ts +0 -13
- package/dist/sensors/index.js +0 -9
- package/dist/sensors/index.js.map +0 -1
- package/dist/sensors/remediation.d.ts +0 -20
- package/dist/sensors/remediation.js +0 -65
- package/dist/sensors/remediation.js.map +0 -1
- package/dist/sensors/runner.d.ts +0 -44
- package/dist/sensors/runner.js +0 -95
- package/dist/sensors/runner.js.map +0 -1
- package/dist/sensors/structural.d.ts +0 -30
- package/dist/sensors/structural.js +0 -204
- package/dist/sensors/structural.js.map +0 -1
- package/dist/sensors/stub-catalog.d.ts +0 -39
- package/dist/sensors/stub-catalog.js +0 -115
- package/dist/sensors/stub-catalog.js.map +0 -1
- package/dist/sensors/types.d.ts +0 -135
- package/dist/sensors/types.js +0 -14
- package/dist/sensors/types.js.map +0 -1
- package/dist/tier0/classify.d.ts +0 -5
- package/dist/tier0/classify.js +0 -91
- package/dist/tier0/classify.js.map +0 -1
- package/dist/tier0/index.d.ts +0 -3
- package/dist/tier0/index.js +0 -3
- package/dist/tier0/index.js.map +0 -1
- package/dist/tier0/ollama.d.ts +0 -22
- package/dist/tier0/ollama.js +0 -63
- package/dist/tier0/ollama.js.map +0 -1
- package/dist/tier0/types.d.ts +0 -24
- package/dist/tier0/types.js +0 -7
- package/dist/tier0/types.js.map +0 -1
- package/dist/tightener/index.d.ts +0 -4
- package/dist/tightener/index.js +0 -4
- package/dist/tightener/index.js.map +0 -1
- package/dist/tightener/prompt.d.ts +0 -3
- package/dist/tightener/prompt.js +0 -67
- package/dist/tightener/prompt.js.map +0 -1
- package/dist/tightener/schema.d.ts +0 -68
- package/dist/tightener/schema.js +0 -44
- package/dist/tightener/schema.js.map +0 -1
- package/dist/tightener/tighten.d.ts +0 -2
- package/dist/tightener/tighten.js +0 -66
- package/dist/tightener/tighten.js.map +0 -1
- package/dist/tightener/types.d.ts +0 -74
- package/dist/tightener/types.js +0 -6
- package/dist/tightener/types.js.map +0 -1
- package/dist/uat/bundle.d.ts +0 -68
- package/dist/uat/bundle.js +0 -168
- package/dist/uat/bundle.js.map +0 -1
- package/dist/uat/index.d.ts +0 -15
- package/dist/uat/index.js +0 -10
- package/dist/uat/index.js.map +0 -1
- package/dist/uat/persistent.d.ts +0 -64
- package/dist/uat/persistent.js +0 -206
- package/dist/uat/persistent.js.map +0 -1
- package/dist/uat/probes/cli.d.ts +0 -11
- package/dist/uat/probes/cli.js +0 -107
- package/dist/uat/probes/cli.js.map +0 -1
- package/dist/uat/probes/http.d.ts +0 -12
- package/dist/uat/probes/http.js +0 -139
- package/dist/uat/probes/http.js.map +0 -1
- package/dist/uat/probes/index.d.ts +0 -21
- package/dist/uat/probes/index.js +0 -30
- package/dist/uat/probes/index.js.map +0 -1
- package/dist/uat/probes/integration.d.ts +0 -18
- package/dist/uat/probes/integration.js +0 -188
- package/dist/uat/probes/integration.js.map +0 -1
- package/dist/uat/probes/sql/config.d.ts +0 -14
- package/dist/uat/probes/sql/config.js +0 -57
- package/dist/uat/probes/sql/config.js.map +0 -1
- package/dist/uat/probes/sql/index.d.ts +0 -29
- package/dist/uat/probes/sql/index.js +0 -43
- package/dist/uat/probes/sql/index.js.map +0 -1
- package/dist/uat/probes/sql/mysql.d.ts +0 -12
- package/dist/uat/probes/sql/mysql.js +0 -96
- package/dist/uat/probes/sql/mysql.js.map +0 -1
- package/dist/uat/probes/sql/pg.d.ts +0 -20
- package/dist/uat/probes/sql/pg.js +0 -102
- package/dist/uat/probes/sql/pg.js.map +0 -1
- package/dist/uat/probes/sql/sqlite.d.ts +0 -9
- package/dist/uat/probes/sql/sqlite.js +0 -58
- package/dist/uat/probes/sql/sqlite.js.map +0 -1
- package/dist/uat/probes/sql/types.d.ts +0 -46
- package/dist/uat/probes/sql/types.js +0 -10
- package/dist/uat/probes/sql/types.js.map +0 -1
- package/dist/uat/probes/sql.d.ts +0 -9
- package/dist/uat/probes/sql.js +0 -119
- package/dist/uat/probes/sql.js.map +0 -1
- package/dist/uat/probes/ui.d.ts +0 -19
- package/dist/uat/probes/ui.js +0 -244
- package/dist/uat/probes/ui.js.map +0 -1
- package/dist/uat/prompt.d.ts +0 -10
- package/dist/uat/prompt.js +0 -85
- package/dist/uat/prompt.js.map +0 -1
- package/dist/uat/question.d.ts +0 -50
- package/dist/uat/question.js +0 -139
- package/dist/uat/question.js.map +0 -1
- package/dist/uat/rejection.d.ts +0 -58
- package/dist/uat/rejection.js +0 -163
- package/dist/uat/rejection.js.map +0 -1
- package/dist/uat/runner.d.ts +0 -6
- package/dist/uat/runner.js +0 -96
- package/dist/uat/runner.js.map +0 -1
- package/dist/uat/schema.d.ts +0 -322
- package/dist/uat/schema.js +0 -189
- package/dist/uat/schema.js.map +0 -1
- package/dist/uat/types.d.ts +0 -268
- package/dist/uat/types.js +0 -18
- package/dist/uat/types.js.map +0 -1
- package/dist/uat/uat.d.ts +0 -89
- package/dist/uat/uat.js +0 -256
- package/dist/uat/uat.js.map +0 -1
- package/dist/voice/index.d.ts +0 -4
- package/dist/voice/index.js +0 -4
- package/dist/voice/index.js.map +0 -1
- package/dist/voice/model.d.ts +0 -23
- package/dist/voice/model.js +0 -46
- package/dist/voice/model.js.map +0 -1
- package/dist/voice/pipe.d.ts +0 -9
- package/dist/voice/pipe.js +0 -47
- package/dist/voice/pipe.js.map +0 -1
- package/dist/voice/transcribe.d.ts +0 -3
- package/dist/voice/transcribe.js +0 -43
- package/dist/voice/transcribe.js.map +0 -1
- package/dist/voice/types.d.ts +0 -26
- package/dist/voice/types.js +0 -9
- package/dist/voice/types.js.map +0 -1
- package/dist/watch/daemon.d.ts +0 -21
- package/dist/watch/daemon.js +0 -143
- package/dist/watch/daemon.js.map +0 -1
- package/dist/watch/index.d.ts +0 -4
- package/dist/watch/index.js +0 -3
- package/dist/watch/index.js.map +0 -1
- package/dist/watch/regenerate.d.ts +0 -25
- package/dist/watch/regenerate.js +0 -51
- package/dist/watch/regenerate.js.map +0 -1
package/dist/uat/types.d.ts
DELETED
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UAT (Layer U) — Phase 11.
|
|
3
|
-
*
|
|
4
|
-
* UAT is multi-probe, not Playwright-only. The UAT-runner agent reads the
|
|
5
|
-
* spec + acceptance criteria + diff and routes EACH acceptance criterion to
|
|
6
|
-
* the cheapest probe that can verify it:
|
|
7
|
-
*
|
|
8
|
-
* http — bare fetch; "POST /foo returns 200", JSON shape match
|
|
9
|
-
* cli — child_process; "command exits 0 with output X"
|
|
10
|
-
* ui — playwright (lazy-loaded); "user clicks button → toast"
|
|
11
|
-
* sql — pg/mysql client (deferred); "row in table X"
|
|
12
|
-
* integration — docker compose (deferred); "service A talks to service B"
|
|
13
|
-
*
|
|
14
|
-
* Per UAT_PIPELINE.md §0–§4. The bundle + evidence-file gate is
|
|
15
|
-
* probe-agnostic — same SHA256 manifest regardless of probe kind.
|
|
16
|
-
*/
|
|
17
|
-
import type { ClaudeTier } from "../claude/index.js";
|
|
18
|
-
export type ProbeKind = "http" | "cli" | "ui" | "sql" | "integration";
|
|
19
|
-
export interface HttpExpectation {
|
|
20
|
-
/** Exact status code that must be returned. */
|
|
21
|
-
status?: number;
|
|
22
|
-
/** Status code must be one of these. */
|
|
23
|
-
status_in?: number[];
|
|
24
|
-
/** Each substring must appear in the response body. */
|
|
25
|
-
body_contains?: string[];
|
|
26
|
-
/** Body must match this ECMAScript regex. */
|
|
27
|
-
body_matches_regex?: string;
|
|
28
|
-
/** JSON-path → expected JSON-stringifiable equality checks. Path is
|
|
29
|
-
* dot/bracket-style: `data.users[0].id`. */
|
|
30
|
-
json_path_equals?: {
|
|
31
|
-
path: string;
|
|
32
|
-
value: unknown;
|
|
33
|
-
}[];
|
|
34
|
-
/** Response must include this header (case-insensitive). */
|
|
35
|
-
header_present?: string[];
|
|
36
|
-
}
|
|
37
|
-
export interface HttpProbe {
|
|
38
|
-
kind: "http";
|
|
39
|
-
id: string;
|
|
40
|
-
description: string;
|
|
41
|
-
request: {
|
|
42
|
-
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
43
|
-
url: string;
|
|
44
|
-
headers?: Record<string, string>;
|
|
45
|
-
body?: string;
|
|
46
|
-
};
|
|
47
|
-
expect: HttpExpectation;
|
|
48
|
-
/** Hard timeout in ms. Default 30_000. */
|
|
49
|
-
timeout_ms?: number;
|
|
50
|
-
}
|
|
51
|
-
export interface CliExpectation {
|
|
52
|
-
exit_code?: number;
|
|
53
|
-
stdout_contains?: string[];
|
|
54
|
-
stdout_matches_regex?: string;
|
|
55
|
-
stderr_empty?: boolean;
|
|
56
|
-
stderr_contains?: string[];
|
|
57
|
-
}
|
|
58
|
-
export interface CliProbe {
|
|
59
|
-
kind: "cli";
|
|
60
|
-
id: string;
|
|
61
|
-
description: string;
|
|
62
|
-
command: string;
|
|
63
|
-
args: string[];
|
|
64
|
-
cwd?: string;
|
|
65
|
-
env?: Record<string, string>;
|
|
66
|
-
expect: CliExpectation;
|
|
67
|
-
timeout_ms?: number;
|
|
68
|
-
}
|
|
69
|
-
export interface UiStep {
|
|
70
|
-
action: "goto" | "click" | "fill" | "screenshot" | "wait_for_selector" | "wait_for_text";
|
|
71
|
-
selector?: string;
|
|
72
|
-
value?: string;
|
|
73
|
-
path?: string;
|
|
74
|
-
text?: string;
|
|
75
|
-
timeout_ms?: number;
|
|
76
|
-
}
|
|
77
|
-
export interface UiExpectation {
|
|
78
|
-
text_present?: string[];
|
|
79
|
-
selector_visible?: string[];
|
|
80
|
-
}
|
|
81
|
-
export interface UiProbe {
|
|
82
|
-
kind: "ui";
|
|
83
|
-
id: string;
|
|
84
|
-
description: string;
|
|
85
|
-
url: string;
|
|
86
|
-
steps: UiStep[];
|
|
87
|
-
expect: UiExpectation;
|
|
88
|
-
timeout_ms?: number;
|
|
89
|
-
}
|
|
90
|
-
export interface SqlProbe {
|
|
91
|
-
kind: "sql";
|
|
92
|
-
id: string;
|
|
93
|
-
description: string;
|
|
94
|
-
/** Connection key — looked up in project config; never literal credentials. */
|
|
95
|
-
connection: string;
|
|
96
|
-
query: string;
|
|
97
|
-
expect: {
|
|
98
|
-
rowcount?: number;
|
|
99
|
-
rowcount_min?: number;
|
|
100
|
-
rowcount_max?: number;
|
|
101
|
-
first_row_includes?: Record<string, unknown>;
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
export interface IntegrationProbe {
|
|
105
|
-
kind: "integration";
|
|
106
|
-
id: string;
|
|
107
|
-
description: string;
|
|
108
|
-
compose_file: string;
|
|
109
|
-
service: string;
|
|
110
|
-
ready_check: {
|
|
111
|
-
kind: "http";
|
|
112
|
-
url: string;
|
|
113
|
-
status?: number;
|
|
114
|
-
timeout_ms?: number;
|
|
115
|
-
} | {
|
|
116
|
-
kind: "cli";
|
|
117
|
-
command: string;
|
|
118
|
-
args: string[];
|
|
119
|
-
timeout_ms?: number;
|
|
120
|
-
};
|
|
121
|
-
test: HttpProbe | CliProbe;
|
|
122
|
-
}
|
|
123
|
-
export type UatProbe = HttpProbe | CliProbe | UiProbe | SqlProbe | IntegrationProbe;
|
|
124
|
-
export interface UatAcceptanceCheck {
|
|
125
|
-
/** Stable id per acceptance criterion. */
|
|
126
|
-
id: string;
|
|
127
|
-
/** Verbatim acceptance criterion text the operator/spec specified. */
|
|
128
|
-
text: string;
|
|
129
|
-
/** Probe selected by the UAT-runner to verify this AC. */
|
|
130
|
-
probe: UatProbe;
|
|
131
|
-
/** Hint for cross-tenant fixture inclusion (high-stakes only, per L43). */
|
|
132
|
-
is_high_stakes_required?: boolean;
|
|
133
|
-
}
|
|
134
|
-
export interface UatRunnerInput {
|
|
135
|
-
/** Tightened spec body the implementer was given. */
|
|
136
|
-
tightened_spec: string;
|
|
137
|
-
/** Acceptance criteria the spec demands. */
|
|
138
|
-
acceptance_criteria: string[];
|
|
139
|
-
/** Files changed in this run (paths only — content is not needed for AC selection). */
|
|
140
|
-
changed_files: {
|
|
141
|
-
path: string;
|
|
142
|
-
status: string;
|
|
143
|
-
}[];
|
|
144
|
-
/** Project-level UAT hints — e.g. base URL, seed-DB command, auth token env var. */
|
|
145
|
-
hints: {
|
|
146
|
-
/** Base URL for http probes when the AC doesn't specify a full URL. */
|
|
147
|
-
base_url?: string;
|
|
148
|
-
/** CLI prefix (e.g. `pnpm --filter core`). */
|
|
149
|
-
cli_prefix?: string;
|
|
150
|
-
/** Project workdir for cli probes. */
|
|
151
|
-
cli_cwd?: string;
|
|
152
|
-
/** Whether ui probes are available (operator opted into playwright at adoption). */
|
|
153
|
-
ui_available?: boolean;
|
|
154
|
-
/** Whether sql probes are available. */
|
|
155
|
-
sql_available?: boolean;
|
|
156
|
-
/** Whether integration probes (docker compose) are available. */
|
|
157
|
-
integration_available?: boolean;
|
|
158
|
-
};
|
|
159
|
-
/** True when the diff touches high-stakes globs — agent must add a cross-tenant fixture (Codex audit Q1 / L43). */
|
|
160
|
-
is_high_stakes: boolean;
|
|
161
|
-
/** Tier — Tier 2 default. */
|
|
162
|
-
tier: ClaudeTier;
|
|
163
|
-
/** Per-call timeout. Default 300_000 ms. */
|
|
164
|
-
timeout_ms?: number;
|
|
165
|
-
}
|
|
166
|
-
export interface UatRunnerOutput {
|
|
167
|
-
/** One probe per acceptance criterion. */
|
|
168
|
-
acceptance_checks: UatAcceptanceCheck[];
|
|
169
|
-
/** True when the diff touches startup files; orchestrator inserts the smoke step before probes (UAT_PIPELINE §3.3). */
|
|
170
|
-
cold_start_smoke: boolean;
|
|
171
|
-
/** True when the change is backend-only (no UI surface) — informs adapter rendering. */
|
|
172
|
-
backend_only: boolean;
|
|
173
|
-
/** Set when the UAT-runner can't generate any check (e.g. no testable surface). */
|
|
174
|
-
ungenerable_reason?: string;
|
|
175
|
-
}
|
|
176
|
-
export interface ProbeRunResult {
|
|
177
|
-
probe_id: string;
|
|
178
|
-
probe_kind: ProbeKind;
|
|
179
|
-
passed: boolean;
|
|
180
|
-
/** Short evidence pointer — file path or inline snippet. */
|
|
181
|
-
evidence: string;
|
|
182
|
-
duration_ms: number;
|
|
183
|
-
/** Inline diagnostic for the operator when passed=false. */
|
|
184
|
-
failure_reason?: string;
|
|
185
|
-
/** Artifact files produced (relative to the run's UAT directory). */
|
|
186
|
-
artifacts?: string[];
|
|
187
|
-
/** Whether the probe was skipped (probe kind not yet supported / not configured). */
|
|
188
|
-
skipped_reason?: string;
|
|
189
|
-
}
|
|
190
|
-
export interface UatBundleArtifact {
|
|
191
|
-
kind: "screenshot" | "transcript" | "video" | "log" | "summary" | "evidence" | "cross-tenant-fixture";
|
|
192
|
-
path: string;
|
|
193
|
-
caption?: string;
|
|
194
|
-
}
|
|
195
|
-
export interface UatSummary {
|
|
196
|
-
run_id: string;
|
|
197
|
-
task_id: string;
|
|
198
|
-
goal_one_liner: string;
|
|
199
|
-
diff_stats: {
|
|
200
|
-
files_changed: number;
|
|
201
|
-
lines_added: number;
|
|
202
|
-
lines_removed: number;
|
|
203
|
-
};
|
|
204
|
-
acceptance_results: {
|
|
205
|
-
id: string;
|
|
206
|
-
text: string;
|
|
207
|
-
probe_kind: ProbeKind;
|
|
208
|
-
status: "pass" | "fail" | "pending" | "skipped";
|
|
209
|
-
evidence?: string;
|
|
210
|
-
failure_reason?: string;
|
|
211
|
-
is_high_stakes_required?: boolean;
|
|
212
|
-
}[];
|
|
213
|
-
cold_start_smoke?: {
|
|
214
|
-
status: "pass" | "fail" | "skipped";
|
|
215
|
-
evidence?: string;
|
|
216
|
-
};
|
|
217
|
-
artifacts: UatBundleArtifact[];
|
|
218
|
-
sensors_passed: string[];
|
|
219
|
-
reviewer_subagent_verdict: "pass" | "fail" | "skipped";
|
|
220
|
-
operator_decision_required: boolean;
|
|
221
|
-
operator_options: {
|
|
222
|
-
id: string;
|
|
223
|
-
label: string;
|
|
224
|
-
}[];
|
|
225
|
-
/** All ACs pass + no skipped + cold-start ok if applicable. */
|
|
226
|
-
all_passed: boolean;
|
|
227
|
-
}
|
|
228
|
-
export interface UatRunResult {
|
|
229
|
-
/** Final summary object the bundle is built from. */
|
|
230
|
-
summary: UatSummary;
|
|
231
|
-
/** Per-probe execution results. */
|
|
232
|
-
probe_results: ProbeRunResult[];
|
|
233
|
-
/** Generated UAT-runner output (the source of truth for which probes ran). */
|
|
234
|
-
runner_output: UatRunnerOutput;
|
|
235
|
-
/** Evidence-file SHA256 manifest path (relative to repoRoot). */
|
|
236
|
-
evidence_file_path: string;
|
|
237
|
-
/** Aggregate ok = all_passed AND evidence file written + verifies. */
|
|
238
|
-
ok: boolean;
|
|
239
|
-
/** Operator's final decision; populated by the adapter approval step. */
|
|
240
|
-
operator_decision?: "approve" | "reject" | "ask" | "abandoned";
|
|
241
|
-
/** Operator-provided rejection details when decision = reject. */
|
|
242
|
-
rejection?: UatRejection;
|
|
243
|
-
duration_ms: number;
|
|
244
|
-
}
|
|
245
|
-
export type UatDecision = "approve" | "reject" | "ask" | "abandoned" | "pending";
|
|
246
|
-
export interface UatRejection {
|
|
247
|
-
/** A/B/C/D rejection category per UAT_PIPELINE §6. */
|
|
248
|
-
category: "A" | "B" | "C" | "D";
|
|
249
|
-
/** Free-text note from the operator (typed or transcribed from voice). */
|
|
250
|
-
operator_note: string;
|
|
251
|
-
/** Whisper transcript of voice rejection if applicable. */
|
|
252
|
-
voice_transcript?: string;
|
|
253
|
-
/** Screenshots the operator referenced in their note. */
|
|
254
|
-
referenced_screenshots?: string[];
|
|
255
|
-
rejected_at: string;
|
|
256
|
-
}
|
|
257
|
-
export interface EvidenceFileEntry {
|
|
258
|
-
path: string;
|
|
259
|
-
sha256: string;
|
|
260
|
-
}
|
|
261
|
-
export interface EvidenceFile {
|
|
262
|
-
run_id: string;
|
|
263
|
-
generated_at: string;
|
|
264
|
-
bundle_sha256: string;
|
|
265
|
-
files: EvidenceFileEntry[];
|
|
266
|
-
/** When operator approval is recorded; gate requires approve. */
|
|
267
|
-
operator_decision?: UatDecision;
|
|
268
|
-
}
|
package/dist/uat/types.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UAT (Layer U) — Phase 11.
|
|
3
|
-
*
|
|
4
|
-
* UAT is multi-probe, not Playwright-only. The UAT-runner agent reads the
|
|
5
|
-
* spec + acceptance criteria + diff and routes EACH acceptance criterion to
|
|
6
|
-
* the cheapest probe that can verify it:
|
|
7
|
-
*
|
|
8
|
-
* http — bare fetch; "POST /foo returns 200", JSON shape match
|
|
9
|
-
* cli — child_process; "command exits 0 with output X"
|
|
10
|
-
* ui — playwright (lazy-loaded); "user clicks button → toast"
|
|
11
|
-
* sql — pg/mysql client (deferred); "row in table X"
|
|
12
|
-
* integration — docker compose (deferred); "service A talks to service B"
|
|
13
|
-
*
|
|
14
|
-
* Per UAT_PIPELINE.md §0–§4. The bundle + evidence-file gate is
|
|
15
|
-
* probe-agnostic — same SHA256 manifest regardless of probe kind.
|
|
16
|
-
*/
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=types.js.map
|
package/dist/uat/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/uat/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
|
package/dist/uat/uat.d.ts
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UAT pipeline orchestrator.
|
|
3
|
-
*
|
|
4
|
-
* Steps (per UAT_PIPELINE.md §3):
|
|
5
|
-
* 1. UAT-runner agent picks one probe per acceptance criterion.
|
|
6
|
-
* 2. (If cold_start_smoke) run the project's start command first.
|
|
7
|
-
* 3. Execute every probe; collect ProbeRunResult[].
|
|
8
|
-
* 4. Build UatSummary; write summary.yaml.
|
|
9
|
-
* 5. Persist UAT.md per task.
|
|
10
|
-
* 6. Request operator approval via the configured frontend adapter.
|
|
11
|
-
* 7. On approve: write evidence file (.uat-passed) with operator_decision.
|
|
12
|
-
* On reject: collect rejection reason; bundle stays without approval.
|
|
13
|
-
* 8. Return the aggregated UatRunResult.
|
|
14
|
-
*
|
|
15
|
-
* The orchestrator's pre-push gate calls `verifyEvidenceFile` separately
|
|
16
|
-
* before allowing `git push`.
|
|
17
|
-
*/
|
|
18
|
-
import type { UatRejection, UatRunResult, UatRunnerInput, UatSummary } from "./types.js";
|
|
19
|
-
import type { QuestionAgentOutput } from "./question.js";
|
|
20
|
-
export interface ApprovalGateArgs {
|
|
21
|
-
runId: string;
|
|
22
|
-
taskId: string;
|
|
23
|
-
summary: UatSummary;
|
|
24
|
-
}
|
|
25
|
-
/** Operator approval surface — the orchestrator passes its adapter through. */
|
|
26
|
-
export type ApprovalGate = (args: ApprovalGateArgs) => Promise<{
|
|
27
|
-
decision: "approve" | "reject" | "ask" | "abandoned";
|
|
28
|
-
rejection?: UatRejection;
|
|
29
|
-
/** Populated when decision === "ask" — the operator's question text. */
|
|
30
|
-
questionText?: string;
|
|
31
|
-
}>;
|
|
32
|
-
/**
|
|
33
|
-
* Question handler — runs the read-only Q&A agent. The orchestrator wires
|
|
34
|
-
* this to `runQuestionAgent`. Returning the answer lets the runUat loop
|
|
35
|
-
* post it via the notifier and re-prompt for approval.
|
|
36
|
-
*/
|
|
37
|
-
export type QuestionHandler = (args: {
|
|
38
|
-
question: string;
|
|
39
|
-
summary: UatSummary;
|
|
40
|
-
diffPaths: {
|
|
41
|
-
path: string;
|
|
42
|
-
status: string;
|
|
43
|
-
}[];
|
|
44
|
-
}) => Promise<QuestionAgentOutput>;
|
|
45
|
-
/** Surface for posting question-answers + status updates back to the operator. */
|
|
46
|
-
export type UatNotifier = (level: "info" | "warn" | "error", message: string) => Promise<void>;
|
|
47
|
-
export interface RunUatArgs {
|
|
48
|
-
/** Repo root (mirror checkout). */
|
|
49
|
-
repoRoot: string;
|
|
50
|
-
/** Run id from the orchestrator. */
|
|
51
|
-
runId: string;
|
|
52
|
-
/** Task id (drives persistent UAT.md). */
|
|
53
|
-
taskId: string;
|
|
54
|
-
/** Inputs the UAT-runner agent needs to pick probes. */
|
|
55
|
-
runnerInput: UatRunnerInput;
|
|
56
|
-
/** Diff stats for summary.yaml. */
|
|
57
|
-
diffStats: {
|
|
58
|
-
files_changed: number;
|
|
59
|
-
lines_added: number;
|
|
60
|
-
lines_removed: number;
|
|
61
|
-
};
|
|
62
|
-
/** Sensors that already passed in this attempt. */
|
|
63
|
-
sensorsPassed: string[];
|
|
64
|
-
/** Reviewer verdict if any. */
|
|
65
|
-
reviewerVerdict: "pass" | "fail" | "skipped";
|
|
66
|
-
/** Operator approval surface. Adapter renders the bundle and waits for a decision. */
|
|
67
|
-
approvalGate: ApprovalGate;
|
|
68
|
-
/**
|
|
69
|
-
* Optional cold-start-smoke command. If `runner_output.cold_start_smoke`
|
|
70
|
-
* is true and this isn't supplied, the smoke is recorded as `skipped`.
|
|
71
|
-
*/
|
|
72
|
-
coldStartCommand?: {
|
|
73
|
-
command: string;
|
|
74
|
-
args: string[];
|
|
75
|
-
cwd?: string;
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* Optional question-flow handler. When the operator picks ❓ Ask,
|
|
79
|
-
* runUat invokes this with the operator's question + bundle context
|
|
80
|
-
* and posts the structured answer back via the notifier. Cap at
|
|
81
|
-
* `maxQuestionRounds` to prevent indefinite loops.
|
|
82
|
-
*/
|
|
83
|
-
questionHandler?: QuestionHandler;
|
|
84
|
-
/** Notifier used to surface question answers + status updates. */
|
|
85
|
-
notifier?: UatNotifier;
|
|
86
|
-
/** Max rounds of ❓ Ask before terminal-fail. Default 5. */
|
|
87
|
-
maxQuestionRounds?: number;
|
|
88
|
-
}
|
|
89
|
-
export declare function runUat(args: RunUatArgs): Promise<UatRunResult>;
|
package/dist/uat/uat.js
DELETED
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UAT pipeline orchestrator.
|
|
3
|
-
*
|
|
4
|
-
* Steps (per UAT_PIPELINE.md §3):
|
|
5
|
-
* 1. UAT-runner agent picks one probe per acceptance criterion.
|
|
6
|
-
* 2. (If cold_start_smoke) run the project's start command first.
|
|
7
|
-
* 3. Execute every probe; collect ProbeRunResult[].
|
|
8
|
-
* 4. Build UatSummary; write summary.yaml.
|
|
9
|
-
* 5. Persist UAT.md per task.
|
|
10
|
-
* 6. Request operator approval via the configured frontend adapter.
|
|
11
|
-
* 7. On approve: write evidence file (.uat-passed) with operator_decision.
|
|
12
|
-
* On reject: collect rejection reason; bundle stays without approval.
|
|
13
|
-
* 8. Return the aggregated UatRunResult.
|
|
14
|
-
*
|
|
15
|
-
* The orchestrator's pre-push gate calls `verifyEvidenceFile` separately
|
|
16
|
-
* before allowing `git push`.
|
|
17
|
-
*/
|
|
18
|
-
import { logger } from "../logger.js";
|
|
19
|
-
import { writeEvidenceFile, writeSummary } from "./bundle.js";
|
|
20
|
-
import { upsertUatTask } from "./persistent.js";
|
|
21
|
-
import { executeProbe } from "./probes/index.js";
|
|
22
|
-
import { writeRejectionYaml } from "./rejection.js";
|
|
23
|
-
import { generateUatChecks } from "./runner.js";
|
|
24
|
-
const log = logger("uat");
|
|
25
|
-
export async function runUat(args) {
|
|
26
|
-
const startedAt = Date.now();
|
|
27
|
-
const goalOneLiner = args.runnerInput.tightened_spec.trim().split(/\r?\n/)[0] ?? "";
|
|
28
|
-
// ── Step 1: UAT-runner picks probes ────────────────────────────────
|
|
29
|
-
const runnerOutput = await generateUatChecks(args.runnerInput);
|
|
30
|
-
// ── Step 2: cold-start smoke ───────────────────────────────────────
|
|
31
|
-
let coldStartResult;
|
|
32
|
-
if (runnerOutput.cold_start_smoke) {
|
|
33
|
-
if (args.coldStartCommand) {
|
|
34
|
-
coldStartResult = await runColdStartSmoke(args.coldStartCommand);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
coldStartResult = {
|
|
38
|
-
status: "skipped",
|
|
39
|
-
evidence: "cold_start_smoke requested but no coldStartCommand configured",
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
// ── Step 3: execute probes ─────────────────────────────────────────
|
|
44
|
-
const uatOutputDir = `${args.repoRoot}/.harness/runs/active/${args.runId}/uat`;
|
|
45
|
-
const probeResults = [];
|
|
46
|
-
for (const check of runnerOutput.acceptance_checks) {
|
|
47
|
-
const result = await executeProbe({
|
|
48
|
-
probe: check.probe,
|
|
49
|
-
...(args.runnerInput.hints.base_url !== undefined
|
|
50
|
-
? { baseUrl: args.runnerInput.hints.base_url }
|
|
51
|
-
: {}),
|
|
52
|
-
outputDir: uatOutputDir,
|
|
53
|
-
repoRoot: args.repoRoot,
|
|
54
|
-
});
|
|
55
|
-
probeResults.push(result);
|
|
56
|
-
}
|
|
57
|
-
// ── Step 4: build summary ──────────────────────────────────────────
|
|
58
|
-
const acceptanceResults = runnerOutput.acceptance_checks.map((check) => {
|
|
59
|
-
const result = probeResults.find((r) => r.probe_id === check.id);
|
|
60
|
-
const status = result?.skipped_reason
|
|
61
|
-
? "skipped"
|
|
62
|
-
: result?.passed
|
|
63
|
-
? "pass"
|
|
64
|
-
: "fail";
|
|
65
|
-
const row = {
|
|
66
|
-
id: check.id,
|
|
67
|
-
text: check.text,
|
|
68
|
-
probe_kind: check.probe.kind,
|
|
69
|
-
status,
|
|
70
|
-
};
|
|
71
|
-
if (result?.evidence !== undefined)
|
|
72
|
-
row.evidence = result.evidence;
|
|
73
|
-
if (result?.failure_reason !== undefined)
|
|
74
|
-
row.failure_reason = result.failure_reason;
|
|
75
|
-
if (check.is_high_stakes_required === true)
|
|
76
|
-
row.is_high_stakes_required = true;
|
|
77
|
-
return row;
|
|
78
|
-
});
|
|
79
|
-
const allPassed = acceptanceResults.every((r) => r.status === "pass") &&
|
|
80
|
-
(coldStartResult?.status ?? "skipped") !== "fail" &&
|
|
81
|
-
runnerOutput.acceptance_checks.length > 0;
|
|
82
|
-
const summary = {
|
|
83
|
-
run_id: args.runId,
|
|
84
|
-
task_id: args.taskId,
|
|
85
|
-
goal_one_liner: goalOneLiner,
|
|
86
|
-
diff_stats: args.diffStats,
|
|
87
|
-
acceptance_results: acceptanceResults,
|
|
88
|
-
...(coldStartResult !== undefined ? { cold_start_smoke: coldStartResult } : {}),
|
|
89
|
-
artifacts: [], // UI artifacts populated by ui probe in Phase 11.5
|
|
90
|
-
sensors_passed: args.sensorsPassed,
|
|
91
|
-
reviewer_subagent_verdict: args.reviewerVerdict,
|
|
92
|
-
operator_decision_required: true,
|
|
93
|
-
operator_options: [
|
|
94
|
-
{ id: "approve", label: "🟢 Approve & Push" },
|
|
95
|
-
{ id: "reject", label: "🔴 Reject + tell me why" },
|
|
96
|
-
{ id: "ask", label: "❓ Ask follow-up" },
|
|
97
|
-
],
|
|
98
|
-
all_passed: allPassed,
|
|
99
|
-
};
|
|
100
|
-
const summaryPath = await writeSummary({
|
|
101
|
-
repoRoot: args.repoRoot,
|
|
102
|
-
runId: args.runId,
|
|
103
|
-
summary,
|
|
104
|
-
});
|
|
105
|
-
log.info({ run_id: args.runId, summary_path: summaryPath, all_passed: allPassed }, "summary written");
|
|
106
|
-
// ── Step 5: persistent UAT.md ──────────────────────────────────────
|
|
107
|
-
await upsertUatTask({
|
|
108
|
-
repoRoot: args.repoRoot,
|
|
109
|
-
taskId: args.taskId,
|
|
110
|
-
runId: args.runId,
|
|
111
|
-
summary,
|
|
112
|
-
status: allPassed ? "passing" : "failed",
|
|
113
|
-
});
|
|
114
|
-
// ── Step 6: operator approval (with optional ❓ Ask loop) ─────────
|
|
115
|
-
let decision = await args.approvalGate({
|
|
116
|
-
runId: args.runId,
|
|
117
|
-
taskId: args.taskId,
|
|
118
|
-
summary,
|
|
119
|
-
});
|
|
120
|
-
const maxRounds = args.maxQuestionRounds ?? 5;
|
|
121
|
-
let questionRounds = 0;
|
|
122
|
-
while (decision.decision === "ask") {
|
|
123
|
-
if (!args.questionHandler) {
|
|
124
|
-
log.warn({ run_id: args.runId }, "operator asked but no questionHandler configured — abandoning");
|
|
125
|
-
decision = { decision: "abandoned" };
|
|
126
|
-
break;
|
|
127
|
-
}
|
|
128
|
-
if (questionRounds >= maxRounds) {
|
|
129
|
-
log.warn({ run_id: args.runId, rounds: questionRounds }, "max question rounds exhausted — abandoning");
|
|
130
|
-
if (args.notifier) {
|
|
131
|
-
await args.notifier("warn", `❓ Question loop exhausted after ${maxRounds} rounds. Marking abandoned; please re-trigger if you want to keep asking.`);
|
|
132
|
-
}
|
|
133
|
-
decision = { decision: "abandoned" };
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
const question = (decision.questionText ?? "").trim();
|
|
137
|
-
if (question.length === 0) {
|
|
138
|
-
log.warn({ run_id: args.runId }, "ask decision missing questionText — abandoning");
|
|
139
|
-
decision = { decision: "abandoned" };
|
|
140
|
-
break;
|
|
141
|
-
}
|
|
142
|
-
const answer = await args.questionHandler({
|
|
143
|
-
question,
|
|
144
|
-
summary,
|
|
145
|
-
diffPaths: probeResults.map((r) => ({ path: r.probe_id, status: r.passed ? "pass" : "fail" })),
|
|
146
|
-
});
|
|
147
|
-
if (args.notifier) {
|
|
148
|
-
const citations = answer.citations.length > 0 ? `\n\n_citations: ${answer.citations.join(", ")}_` : "";
|
|
149
|
-
await args.notifier("info", `❓ ${question}\n\n${answer.answer}${citations}\n\n_(confidence: ${answer.confidence_signal})_`);
|
|
150
|
-
}
|
|
151
|
-
questionRounds += 1;
|
|
152
|
-
decision = await args.approvalGate({
|
|
153
|
-
runId: args.runId,
|
|
154
|
-
taskId: args.taskId,
|
|
155
|
-
summary,
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
// ── Step 6b: rejection.yaml (when operator rejected) ──────────────
|
|
159
|
-
// Written BEFORE the evidence file so the bundle SHA includes it.
|
|
160
|
-
if (decision.decision === "reject" && decision.rejection) {
|
|
161
|
-
await writeRejectionYaml({
|
|
162
|
-
repoRoot: args.repoRoot,
|
|
163
|
-
runId: args.runId,
|
|
164
|
-
rejection: decision.rejection,
|
|
165
|
-
summary,
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
// ── Step 7: evidence file ──────────────────────────────────────────
|
|
169
|
-
const evidence = await writeEvidenceFile({
|
|
170
|
-
repoRoot: args.repoRoot,
|
|
171
|
-
runId: args.runId,
|
|
172
|
-
operatorDecision: decision.decision,
|
|
173
|
-
});
|
|
174
|
-
log.info({ run_id: args.runId, decision: decision.decision, bundle_sha256: evidence.bundleSha }, "evidence file recorded");
|
|
175
|
-
// Update persistent UAT.md with the decision-derived terminal status.
|
|
176
|
-
if (decision.decision === "approve") {
|
|
177
|
-
await upsertUatTask({
|
|
178
|
-
repoRoot: args.repoRoot,
|
|
179
|
-
taskId: args.taskId,
|
|
180
|
-
runId: args.runId,
|
|
181
|
-
summary,
|
|
182
|
-
status: "passed",
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
else if (decision.decision === "reject") {
|
|
186
|
-
const cat = decision.rejection?.category;
|
|
187
|
-
const note = decision.rejection?.operator_note ?? "";
|
|
188
|
-
const description = cat && note.length > 0
|
|
189
|
-
? `[${cat}] ${note}`
|
|
190
|
-
: note.length > 0
|
|
191
|
-
? note
|
|
192
|
-
: cat
|
|
193
|
-
? `[${cat}] (no note)`
|
|
194
|
-
: "(operator rejected without note)";
|
|
195
|
-
await upsertUatTask({
|
|
196
|
-
repoRoot: args.repoRoot,
|
|
197
|
-
taskId: args.taskId,
|
|
198
|
-
runId: args.runId,
|
|
199
|
-
summary,
|
|
200
|
-
status: "failed",
|
|
201
|
-
newGap: { run_id: args.runId, description },
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
else if (decision.decision === "abandoned") {
|
|
205
|
-
await upsertUatTask({
|
|
206
|
-
repoRoot: args.repoRoot,
|
|
207
|
-
taskId: args.taskId,
|
|
208
|
-
runId: args.runId,
|
|
209
|
-
summary,
|
|
210
|
-
status: "abandoned",
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
const ok = allPassed && decision.decision === "approve";
|
|
214
|
-
return {
|
|
215
|
-
summary,
|
|
216
|
-
probe_results: probeResults,
|
|
217
|
-
runner_output: runnerOutput,
|
|
218
|
-
evidence_file_path: evidence.path,
|
|
219
|
-
ok,
|
|
220
|
-
operator_decision: decision.decision,
|
|
221
|
-
...(decision.rejection !== undefined ? { rejection: decision.rejection } : {}),
|
|
222
|
-
duration_ms: Date.now() - startedAt,
|
|
223
|
-
};
|
|
224
|
-
}
|
|
225
|
-
async function runColdStartSmoke(args) {
|
|
226
|
-
const { spawn } = await import("node:child_process");
|
|
227
|
-
return new Promise((resolve) => {
|
|
228
|
-
const ctrl = new AbortController();
|
|
229
|
-
const timer = setTimeout(() => ctrl.abort(), 60_000);
|
|
230
|
-
let stdout = "";
|
|
231
|
-
let stderr = "";
|
|
232
|
-
const child = spawn(args.command, args.args, {
|
|
233
|
-
cwd: args.cwd,
|
|
234
|
-
signal: ctrl.signal,
|
|
235
|
-
});
|
|
236
|
-
child.stdout.on("data", (chunk) => {
|
|
237
|
-
stdout += chunk.toString("utf8");
|
|
238
|
-
});
|
|
239
|
-
child.stderr.on("data", (chunk) => {
|
|
240
|
-
stderr += chunk.toString("utf8");
|
|
241
|
-
});
|
|
242
|
-
child.on("close", (code) => {
|
|
243
|
-
clearTimeout(timer);
|
|
244
|
-
const status = code === 0 ? "pass" : "fail";
|
|
245
|
-
resolve({
|
|
246
|
-
status,
|
|
247
|
-
evidence: `cold-start: exit=${code}; stdout[0..200]=${stdout.slice(0, 200)}; stderr[0..200]=${stderr.slice(0, 200)}`,
|
|
248
|
-
});
|
|
249
|
-
});
|
|
250
|
-
child.on("error", (err) => {
|
|
251
|
-
clearTimeout(timer);
|
|
252
|
-
resolve({ status: "fail", evidence: `cold-start spawn error: ${String(err)}` });
|
|
253
|
-
});
|
|
254
|
-
});
|
|
255
|
-
}
|
|
256
|
-
//# sourceMappingURL=uat.js.map
|
package/dist/uat/uat.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uat.js","sourceRoot":"","sources":["../../src/uat/uat.ts"],"names":[],"mappings":"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"}
|
package/dist/voice/index.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { transcribeBuffer, transcribeUrl } from "./transcribe.js";
|
|
2
|
-
export { freeWhisper, getWhisper, whisperModelExists, WHISPER_MODEL_FILE, WHISPER_MODEL_PATH, WHISPER_MODELS_DIR, } from "./model.js";
|
|
3
|
-
export { audioToPcm } from "./pipe.js";
|
|
4
|
-
export type { TranscribeOptions, TranscriptionResult, TranscriptionSegment, } from "./types.js";
|
package/dist/voice/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { transcribeBuffer, transcribeUrl } from "./transcribe.js";
|
|
2
|
-
export { freeWhisper, getWhisper, whisperModelExists, WHISPER_MODEL_FILE, WHISPER_MODEL_PATH, WHISPER_MODELS_DIR, } from "./model.js";
|
|
3
|
-
export { audioToPcm } from "./pipe.js";
|
|
4
|
-
//# sourceMappingURL=index.js.map
|
package/dist/voice/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/voice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
|