@exaudeus/workrail 3.27.0 → 3.29.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/dist/console/assets/{index-FtTaDku8.js → index-BZ6HkxGf.js} +1 -1
- package/dist/console/index.html +1 -1
- package/dist/manifest.json +3 -3
- package/docs/README.md +57 -0
- package/docs/adrs/001-hybrid-storage-backend.md +38 -0
- package/docs/adrs/002-four-layer-context-classification.md +38 -0
- package/docs/adrs/003-checkpoint-trigger-strategy.md +35 -0
- package/docs/adrs/004-opt-in-encryption-strategy.md +36 -0
- package/docs/adrs/005-agent-first-workflow-execution-tokens.md +105 -0
- package/docs/adrs/006-append-only-session-run-event-log.md +76 -0
- package/docs/adrs/007-resume-and-checkpoint-only-sessions.md +51 -0
- package/docs/adrs/008-blocked-nodes-architectural-upgrade.md +178 -0
- package/docs/adrs/009-bridge-mode-single-instance-mcp.md +195 -0
- package/docs/adrs/010-release-pipeline.md +89 -0
- package/docs/architecture/README.md +7 -0
- package/docs/architecture/refactor-audit.md +364 -0
- package/docs/authoring-v2.md +527 -0
- package/docs/authoring.md +873 -0
- package/docs/changelog-recent.md +201 -0
- package/docs/configuration.md +505 -0
- package/docs/ctc-mcp-proposal.md +518 -0
- package/docs/design/README.md +22 -0
- package/docs/design/agent-cascade-protocol.md +96 -0
- package/docs/design/autonomous-console-design-candidates.md +253 -0
- package/docs/design/autonomous-console-design-review.md +111 -0
- package/docs/design/autonomous-platform-mvp-discovery.md +525 -0
- package/docs/design/claude-code-source-deep-dive.md +713 -0
- package/docs/design/console-cyberpunk-ui-discovery.md +504 -0
- package/docs/design/console-execution-trace-candidates-final.md +160 -0
- package/docs/design/console-execution-trace-candidates.md +211 -0
- package/docs/design/console-execution-trace-design-candidates-v2.md +113 -0
- package/docs/design/console-execution-trace-design-review.md +74 -0
- package/docs/design/console-execution-trace-discovery.md +394 -0
- package/docs/design/console-execution-trace-final-review.md +77 -0
- package/docs/design/console-execution-trace-review.md +92 -0
- package/docs/design/console-performance-discovery.md +415 -0
- package/docs/design/console-ui-backlog.md +280 -0
- package/docs/design/daemon-architecture-discovery.md +853 -0
- package/docs/design/daemon-design-candidates.md +318 -0
- package/docs/design/daemon-design-review-findings.md +119 -0
- package/docs/design/daemon-engine-design-candidates.md +210 -0
- package/docs/design/daemon-engine-design-review.md +131 -0
- package/docs/design/daemon-execution-engine-discovery.md +280 -0
- package/docs/design/daemon-gap-analysis.md +554 -0
- package/docs/design/daemon-owns-console-plan.md +168 -0
- package/docs/design/daemon-owns-console-review.md +91 -0
- package/docs/design/daemon-owns-console.md +195 -0
- package/docs/design/data-model-erd.md +11 -0
- package/docs/design/design-candidates-consolidate-dev-staleness.md +98 -0
- package/docs/design/design-candidates-walk-cache-depth-limit.md +80 -0
- package/docs/design/design-review-consolidate-dev-staleness.md +54 -0
- package/docs/design/design-review-walk-cache-depth-limit.md +48 -0
- package/docs/design/implementation-plan-consolidate-dev-staleness.md +142 -0
- package/docs/design/implementation-plan-walk-cache-depth-limit.md +141 -0
- package/docs/design/layer3b-ghost-nodes-design-candidates.md +229 -0
- package/docs/design/layer3b-ghost-nodes-design-review.md +93 -0
- package/docs/design/layer3b-ghost-nodes-implementation-plan.md +219 -0
- package/docs/design/list-workflows-latency-fix-plan.md +128 -0
- package/docs/design/list-workflows-latency-fix-review.md +55 -0
- package/docs/design/list-workflows-latency-fix.md +109 -0
- package/docs/design/native-context-management-api.md +11 -0
- package/docs/design/performance-sweep-2026-04.md +96 -0
- package/docs/design/routines-guide.md +219 -0
- package/docs/design/sequence-diagrams.md +11 -0
- package/docs/design/subagent-design-principles.md +220 -0
- package/docs/design/temporal-patterns-design-candidates.md +312 -0
- package/docs/design/temporal-patterns-design-review-findings.md +163 -0
- package/docs/design/test-isolation-from-config-file.md +335 -0
- package/docs/design/v2-core-design-locks.md +2746 -0
- package/docs/design/v2-lock-registry.json +734 -0
- package/docs/design/workflow-authoring-v2.md +1044 -0
- package/docs/design/workflow-docs-spec.md +218 -0
- package/docs/design/workflow-extension-points.md +687 -0
- package/docs/design/workrail-auto-trigger-system.md +359 -0
- package/docs/design/workrail-config-file-discovery.md +513 -0
- package/docs/docker.md +110 -0
- package/docs/generated/v2-lock-closure-plan.md +26 -0
- package/docs/generated/v2-lock-coverage.json +797 -0
- package/docs/generated/v2-lock-coverage.md +177 -0
- package/docs/ideas/backlog.md +3927 -0
- package/docs/ideas/design-candidates-mcp-resilience.md +208 -0
- package/docs/ideas/design-review-findings-mcp-resilience.md +119 -0
- package/docs/ideas/implementation_plan.md +249 -0
- package/docs/ideas/third-party-workflow-setup-design-thinking.md +1948 -0
- package/docs/implementation/02-architecture.md +316 -0
- package/docs/implementation/04-testing-strategy.md +124 -0
- package/docs/implementation/09-simple-workflow-guide.md +835 -0
- package/docs/implementation/13-advanced-validation-guide.md +874 -0
- package/docs/implementation/README.md +21 -0
- package/docs/integrations/claude-code.md +300 -0
- package/docs/integrations/firebender.md +315 -0
- package/docs/migration/v0.1.0.md +147 -0
- package/docs/naming-conventions.md +45 -0
- package/docs/planning/README.md +104 -0
- package/docs/planning/github-ticketing-playbook.md +195 -0
- package/docs/plans/README.md +24 -0
- package/docs/plans/agent-managed-ticketing-design.md +605 -0
- package/docs/plans/agentic-orchestration-roadmap.md +112 -0
- package/docs/plans/assessment-gates-engine-handoff.md +536 -0
- package/docs/plans/content-coherence-and-references.md +151 -0
- package/docs/plans/library-extraction-plan.md +340 -0
- package/docs/plans/mr-review-workflow-redesign.md +1451 -0
- package/docs/plans/native-context-management-epic.md +11 -0
- package/docs/plans/perf-fixes-design-candidates.md +225 -0
- package/docs/plans/perf-fixes-design-review-findings.md +61 -0
- package/docs/plans/perf-fixes-new-issues-candidates.md +264 -0
- package/docs/plans/perf-fixes-new-issues-review.md +110 -0
- package/docs/plans/prompt-fragments.md +53 -0
- package/docs/plans/ui-ux-workflow-design-candidates.md +120 -0
- package/docs/plans/ui-ux-workflow-discovery.md +100 -0
- package/docs/plans/ui-ux-workflow-review.md +48 -0
- package/docs/plans/v2-followup-enhancements.md +587 -0
- package/docs/plans/workflow-categories-candidates.md +105 -0
- package/docs/plans/workflow-categories-discovery.md +110 -0
- package/docs/plans/workflow-categories-review.md +51 -0
- package/docs/plans/workflow-discovery-model-candidates.md +94 -0
- package/docs/plans/workflow-discovery-model-discovery.md +74 -0
- package/docs/plans/workflow-discovery-model-review.md +48 -0
- package/docs/plans/workflow-source-setup-phase-1.md +245 -0
- package/docs/plans/workflow-source-setup-phase-2.md +361 -0
- package/docs/plans/workflow-staleness-detection-candidates.md +104 -0
- package/docs/plans/workflow-staleness-detection-review.md +58 -0
- package/docs/plans/workflow-staleness-detection.md +80 -0
- package/docs/plans/workflow-v2-design.md +69 -0
- package/docs/plans/workflow-v2-roadmap.md +74 -0
- package/docs/plans/workflow-validation-design.md +98 -0
- package/docs/plans/workflow-validation-roadmap.md +108 -0
- package/docs/plans/workrail-platform-vision.md +420 -0
- package/docs/reference/agent-context-cleaner-snippet.md +94 -0
- package/docs/reference/agent-context-guidance.md +140 -0
- package/docs/reference/context-optimization.md +284 -0
- package/docs/reference/example-workflow-repository-template/.github/workflows/validate.yml +125 -0
- package/docs/reference/example-workflow-repository-template/README.md +268 -0
- package/docs/reference/example-workflow-repository-template/workflows/example-workflow.json +80 -0
- package/docs/reference/external-workflow-repositories.md +916 -0
- package/docs/reference/feature-flags-architecture.md +472 -0
- package/docs/reference/feature-flags.md +349 -0
- package/docs/reference/god-tier-workflow-validation.md +272 -0
- package/docs/reference/loop-optimization.md +209 -0
- package/docs/reference/loop-validation.md +176 -0
- package/docs/reference/loops.md +465 -0
- package/docs/reference/mcp-platform-constraints.md +59 -0
- package/docs/reference/recovery.md +88 -0
- package/docs/reference/releases.md +177 -0
- package/docs/reference/troubleshooting.md +105 -0
- package/docs/reference/workflow-execution-contract.md +998 -0
- package/docs/roadmap/README.md +22 -0
- package/docs/roadmap/legacy-planning-status.md +103 -0
- package/docs/roadmap/now-next-later.md +70 -0
- package/docs/roadmap/open-work-inventory.md +389 -0
- package/docs/tickets/README.md +39 -0
- package/docs/tickets/next-up.md +76 -0
- package/docs/workflow-management.md +317 -0
- package/docs/workflow-templates.md +423 -0
- package/docs/workflow-validation.md +184 -0
- package/docs/workflows.md +254 -0
- package/package.json +3 -1
- package/spec/authoring-spec.json +61 -16
- package/workflows/workflow-for-workflows.json +252 -93
- package/workflows/workflow-for-workflows.v2.json +188 -77
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# v2 Lock Enforcement Coverage Report
|
|
2
|
+
|
|
3
|
+
> **Auto-generated** — Do not edit manually.
|
|
4
|
+
> Registry version: 1.0.0
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Summary
|
|
9
|
+
|
|
10
|
+
| Metric | Value |
|
|
11
|
+
|--------|-------|
|
|
12
|
+
| Total locks | 118 |
|
|
13
|
+
| Covered | 118 |
|
|
14
|
+
| Uncovered | 0 |
|
|
15
|
+
| Coverage | **100%** |
|
|
16
|
+
|
|
17
|
+
## Coverage by Category
|
|
18
|
+
|
|
19
|
+
| Category | Total | Covered | % |
|
|
20
|
+
|----------|-------|---------|---|
|
|
21
|
+
| architecture | 5 | 5 | 100% |
|
|
22
|
+
| bundle | 6 | 6 | 100% |
|
|
23
|
+
| errors | 8 | 8 | 100% |
|
|
24
|
+
| hashing | 4 | 4 | 100% |
|
|
25
|
+
| model | 3 | 3 | 100% |
|
|
26
|
+
| projection | 3 | 3 | 100% |
|
|
27
|
+
| protocol | 14 | 14 | 100% |
|
|
28
|
+
| schema | 32 | 32 | 100% |
|
|
29
|
+
| storage | 20 | 20 | 100% |
|
|
30
|
+
| tokens | 21 | 21 | 100% |
|
|
31
|
+
| types | 2 | 2 | 100% |
|
|
32
|
+
|
|
33
|
+
## Covered Locks
|
|
34
|
+
|
|
35
|
+
<details>
|
|
36
|
+
<summary>Click to expand (118 locks)</summary>
|
|
37
|
+
|
|
38
|
+
| Lock ID | Test Files |
|
|
39
|
+
|---------|------------|
|
|
40
|
+
| `ack-idempotency-key` | `tests/unit/v2/session-store-idempotency-with-fakes.test.ts`, `tests/unit/v2/session-store-idempotency.test.ts` |
|
|
41
|
+
| `ack-replay-idempotent` | `tests/unit/v2/session-store-idempotency-with-fakes.test.ts`, `tests/unit/v2/session-store-idempotency.test.ts` |
|
|
42
|
+
| `ack-token-payload-fields` | `tests/unit/v2/tokens-binary.test.ts` |
|
|
43
|
+
| `advance-append-capable` | `tests/unit/v2/v2-execution-protocol.test.ts` |
|
|
44
|
+
| `append-plan-atomic` | `tests/unit/v2/session-store-idempotency-with-fakes.test.ts`, `tests/unit/v2/session-store-idempotency.test.ts`, `tests/unit/v2/session-store-preloaded-truth.test.ts`, `tests/unit/v2/session-store.test.ts` |
|
|
45
|
+
| `autonomy-closed-set` | `tests/unit/v2/schema-locks.test.ts` |
|
|
46
|
+
| `bech32m-checksum-validation` | `tests/unit/v2/tokens-corruption.test.ts` |
|
|
47
|
+
| `binary-payload-deterministic` | `tests/unit/v2/golden-tokens/golden-tokens.test.ts`, `tests/unit/v2/tokens-property-based.test.ts` |
|
|
48
|
+
| `blocker-budget` | `tests/unit/v2/budget-enforcement.test.ts` |
|
|
49
|
+
| `blocker-codes-closed-set` | `tests/unit/v2/schema-locks.test.ts` |
|
|
50
|
+
| `branded-id-types` | `tests/unit/v2/ids.test.ts` |
|
|
51
|
+
| `budget-enforcement` | `tests/unit/v2/notes-markdown.test.ts` |
|
|
52
|
+
| `bundle-errors-closed-set` | `tests/unit/v2/export-bundle-schema.test.ts` |
|
|
53
|
+
| `bundle-format-single-json` | `tests/unit/v2/export-bundle-schema.test.ts` |
|
|
54
|
+
| `bundle-import-as-new` | `tests/unit/v2/export-bundle-schema.test.ts` |
|
|
55
|
+
| `bundle-import-validates-first` | `tests/unit/v2/export-bundle-schema.test.ts` |
|
|
56
|
+
| `bundle-integrity-jcs-sha256` | `tests/unit/v2/export-bundle-schema.test.ts` |
|
|
57
|
+
| `bundle-tokens-not-portable` | `tests/unit/v2/export-bundle-schema.test.ts` |
|
|
58
|
+
| `checkpoint-token-payload-fields` | `tests/unit/v2/tokens-binary.test.ts` |
|
|
59
|
+
| `context-budget-256kb` | `tests/unit/v2/v2-execution-protocol.test.ts` |
|
|
60
|
+
| `context-json-only` | `tests/unit/v2/v2-execution-protocol.test.ts` |
|
|
61
|
+
| `context-no-echo` | `tests/unit/v2/v2-execution-protocol.test.ts` |
|
|
62
|
+
| `context-not-durable` | `tests/unit/v2/v2-execution-protocol.test.ts` |
|
|
63
|
+
| `crash-safe-append` | `tests/unit/v2/session-store.test.ts` |
|
|
64
|
+
| `crash-state-detection` | `tests/unit/v2/session-store.test.ts` |
|
|
65
|
+
| `data-dir-workrail-owned` | `tests/unit/v2/data-dir.test.ts` |
|
|
66
|
+
| `decision-trace-bounded` | `tests/unit/v2/budget-enforcement.test.ts` |
|
|
67
|
+
| `dedupe-key-idempotent` | `tests/unit/v2/session-store-idempotency-with-fakes.test.ts`, `tests/unit/v2/session-store-idempotency.test.ts`, `tests/unit/v2/session-store-preloaded-truth.test.ts`, `tests/unit/v2/session-store.test.ts` |
|
|
68
|
+
| `dedupe-key-stable` | `tests/unit/v2/session-store-idempotency-with-fakes.test.ts`, `tests/unit/v2/session-store-idempotency.test.ts` |
|
|
69
|
+
| `determinism` | `tests/unit/v2/notes-markdown.test.ts` |
|
|
70
|
+
| `durable-core-no-buffer` | `tests/architecture/v2-import-boundaries.test.ts` |
|
|
71
|
+
| `durable-core-no-node-imports` | `tests/architecture/v2-import-boundaries.test.ts` |
|
|
72
|
+
| `edge-cause-closed-set` | `tests/unit/v2/run-dag-projection.test.ts` |
|
|
73
|
+
| `edge-kind-closed-set` | `tests/unit/v2/run-dag-projection.test.ts` |
|
|
74
|
+
| `error-budget-details` | `tests/unit/v2/mcp-error-envelope.test.ts` |
|
|
75
|
+
| `error-envelope-shape` | `tests/unit/v2/mcp-error-envelope.test.ts` |
|
|
76
|
+
| `error-no-throw-across-mcp` | `tests/unit/v2/mcp-error-envelope.test.ts` |
|
|
77
|
+
| `error-retry-via-field` | `tests/unit/v2/mcp-error-envelope.test.ts` |
|
|
78
|
+
| `error-self-correcting` | `tests/unit/v2/mcp-error-envelope.test.ts` |
|
|
79
|
+
| `errors-as-data` | `tests/architecture/v2-no-message-substring-matching.test.ts`, `tests/unit/v2/keyring-adapter.test.ts`, `tests/unit/v2/pinned-workflow-store-adapter.test.ts` |
|
|
80
|
+
| `event-index-monotonic-contiguous` | `tests/unit/v2/run-dag-projection.test.ts`, `tests/unit/v2/session-store.test.ts` |
|
|
81
|
+
| `event-index-zero-based` | `tests/unit/v2/session-store.test.ts` |
|
|
82
|
+
| `event-kinds-closed-set` | `tests/unit/v2/schema-locks.test.ts` |
|
|
83
|
+
| `execution-gated-by-health` | `tests/unit/v2/execution-session-gate.test.ts` |
|
|
84
|
+
| `gaps-append-only-resolution` | `tests/unit/v2/gaps-projection.test.ts` |
|
|
85
|
+
| `hash-format-sha256-hex` | `tests/unit/v2/golden-hashes/golden-hashes.test.ts`, `tests/unit/v2/jcs.test.ts` |
|
|
86
|
+
| `illegal-states-unrepresentable` | `tests/unit/v2/notes-markdown.test.ts` |
|
|
87
|
+
| `infra-only-node-io` | `tests/architecture/v2-import-boundaries.test.ts` |
|
|
88
|
+
| `jcs-rfc-8785` | `tests/unit/v2/golden-hashes/golden-hashes.test.ts`, `tests/unit/v2/jcs.test.ts` |
|
|
89
|
+
| `keyring-32-byte-entropy` | `tests/unit/v2/tokens.test.ts` |
|
|
90
|
+
| `keyring-two-keys` | `tests/unit/v2/tokens.test.ts` |
|
|
91
|
+
| `keyring-verification-order` | `tests/unit/v2/tokens.test.ts` |
|
|
92
|
+
| `manifest-index-monotonic-contiguous` | `tests/unit/v2/session-store.test.ts` |
|
|
93
|
+
| `mkdirp-once-per-session` | `tests/unit/v2/perf-parallel-io.test.ts` |
|
|
94
|
+
| `no-throws-across-boundaries` | `tests/unit/v2/keyring-adapter.test.ts`, `tests/unit/v2/pinned-workflow-store-adapter.test.ts` |
|
|
95
|
+
| `non-assumable-choice-closed-set` | `tests/unit/v2/schema-locks.test.ts` |
|
|
96
|
+
| `non-tip-advance-creates-fork` | `tests/unit/v2/v2-execution-protocol.test.ts` |
|
|
97
|
+
| `notes-markdown-budget` | `tests/unit/v2/budget-enforcement.test.ts` |
|
|
98
|
+
| `orphan-segment-ignored` | `tests/unit/v2/session-store.test.ts` |
|
|
99
|
+
| `output-channel-closed-set` | `tests/unit/v2/output-ordering.test.ts` |
|
|
100
|
+
| `output-ordering-deterministic` | `tests/unit/v2/output-ordering.test.ts` |
|
|
101
|
+
| `parallel-segment-order` | `tests/unit/v2/perf-parallel-io.test.ts` |
|
|
102
|
+
| `parallel-stat-correctness` | `tests/unit/v2/perf-parallel-io.test.ts` |
|
|
103
|
+
| `paths-relative-only` | `tests/unit/v2/session-manifest-schema.test.ts` |
|
|
104
|
+
| `pin-after-close` | `tests/unit/v2/session-store.test.ts` |
|
|
105
|
+
| `ports-interfaces-only` | `tests/architecture/v2-import-boundaries.test.ts` |
|
|
106
|
+
| `preferences-node-attached` | `tests/unit/v2/preferences-projection.test.ts` |
|
|
107
|
+
| `preferred-tip-algorithm` | `tests/unit/v2/run-dag-projection.test.ts` |
|
|
108
|
+
| `preferred-tip-no-timestamps` | `tests/unit/v2/run-dag-projection.test.ts` |
|
|
109
|
+
| `preferred-tip-per-run` | `tests/unit/v2/run-dag-projection.test.ts` |
|
|
110
|
+
| `projection-cache-rebuildable` | `tests/unit/v2/projection-cache.test.ts` |
|
|
111
|
+
| `reason-code-unified` | `tests/unit/v2/schema-locks.test.ts` |
|
|
112
|
+
| `rehydrate-pure-no-writes` | `tests/unit/v2/v2-execution-protocol.test.ts` |
|
|
113
|
+
| `replay-fact-returning` | `tests/unit/v2/v2-execution-protocol.test.ts` |
|
|
114
|
+
| `replay-fail-closed` | `tests/unit/v2/v2-execution-protocol.test.ts` |
|
|
115
|
+
| `risk-policy-closed-set` | `tests/unit/v2/schema-locks.test.ts` |
|
|
116
|
+
| `risk-policy-guardrails` | `tests/unit/v2/run-status-signals-projection.test.ts` |
|
|
117
|
+
| `run-status-closed-set` | `tests/unit/v2/schema-locks.test.ts` |
|
|
118
|
+
| `runs-are-dags` | `tests/unit/v2/run-dag-projection.test.ts` |
|
|
119
|
+
| `salvage-read-only` | `tests/unit/v2/v2-execution-protocol.test.ts` |
|
|
120
|
+
| `schema-additive-within-version` | `tests/unit/v2/schema-locks.test.ts` |
|
|
121
|
+
| `schema-modules-load-safe` | `tests/unit/v2/schema-load.test.ts` |
|
|
122
|
+
| `schema-unknown-fields-ignored-conditionally` | `tests/unit/v2/schema-locks.test.ts` |
|
|
123
|
+
| `schema-unknown-version-fail-fast` | `tests/unit/v2/schema-locks.test.ts` |
|
|
124
|
+
| `schema-versioned` | `tests/unit/v2/schema-locks.test.ts` |
|
|
125
|
+
| `segment-digest-verification` | `tests/unit/v2/session-store.test.ts` |
|
|
126
|
+
| `session-health-closed-set` | `tests/unit/v2/execution-session-gate.test.ts` |
|
|
127
|
+
| `single-manifest-fsync` | `tests/unit/v2/perf-parallel-io.test.ts` |
|
|
128
|
+
| `single-writer-per-session` | `tests/unit/v2/execution-session-gate.test.ts`, `tests/unit/v2/session-store.test.ts` |
|
|
129
|
+
| `snapshot-completed-sorted` | `tests/unit/v2/execution-snapshot.test.ts` |
|
|
130
|
+
| `snapshot-content-addressed` | `tests/unit/v2/golden-hashes/golden-hashes.test.ts` |
|
|
131
|
+
| `snapshot-discriminated-union` | `tests/unit/v2/execution-snapshot.test.ts` |
|
|
132
|
+
| `snapshot-impossible-state-rejected` | `tests/unit/v2/execution-snapshot.test.ts` |
|
|
133
|
+
| `snapshot-loop-id-unique` | `tests/unit/v2/execution-snapshot.test.ts` |
|
|
134
|
+
| `snapshot-pending-explicit` | `tests/unit/v2/execution-snapshot.test.ts` |
|
|
135
|
+
| `snapshot-rehydration-only` | `tests/unit/v2/execution-snapshot.test.ts` |
|
|
136
|
+
| `state-token-payload-fields` | `tests/unit/v2/tokens-binary.test.ts` |
|
|
137
|
+
| `step-instance-key-delimiter-safe` | `tests/unit/v2/step-instance-key.test.ts` |
|
|
138
|
+
| `step-instance-key-format` | `tests/unit/v2/step-instance-key.test.ts` |
|
|
139
|
+
| `test-fakes-usage` | `tests/unit/v2/session-store-idempotency-with-fakes.test.ts` |
|
|
140
|
+
| `token-bech32m-encoding` | `tests/unit/v2/tokens-binary.test.ts` |
|
|
141
|
+
| `token-binary-payload-layout` | `tests/unit/v2/tokens-binary.test.ts`, `tests/unit/v2/tokens-property-based.test.ts` |
|
|
142
|
+
| `token-binary-roundtrip` | `tests/unit/v2/tokens-binary.test.ts`, `tests/unit/v2/tokens-property-based.test.ts` |
|
|
143
|
+
| `token-binary-wire-format` | `tests/unit/v2/golden-tokens/golden-tokens.test.ts`, `tests/unit/v2/tokens.test.ts` |
|
|
144
|
+
| `token-corruption-detection` | `tests/unit/v2/tokens-binary.test.ts`, `tests/unit/v2/tokens-corruption.test.ts` |
|
|
145
|
+
| `token-kind-closed-set` | `tests/unit/v2/tokens.test.ts` |
|
|
146
|
+
| `token-prefix-closed-set` | `tests/unit/v2/tokens.test.ts` |
|
|
147
|
+
| `token-prefix-kind-match` | `tests/unit/v2/tokens-binary.test.ts` |
|
|
148
|
+
| `token-signature-input-canonical-only` | `tests/unit/v2/tokens-binary.test.ts` |
|
|
149
|
+
| `token-signature-timing-safe` | `tests/unit/v2/tokens.test.ts` |
|
|
150
|
+
| `token-signing-hmac-sha256` | `tests/unit/v2/tokens.test.ts` |
|
|
151
|
+
| `token-validation-errors-closed-set` | `tests/unit/v2/mcp-error-envelope.test.ts` |
|
|
152
|
+
| `truncation-marker-format` | `tests/unit/v2/budget-enforcement.test.ts` |
|
|
153
|
+
| `type-escapes-quarantined` | `tests/architecture/v2-type-safety.test.ts` |
|
|
154
|
+
| `user-only-dependency-closed-set` | `tests/unit/v2/schema-locks.test.ts` |
|
|
155
|
+
| `witness-required-for-append` | `tests/unit/v2/execution-session-gate.test.ts` |
|
|
156
|
+
| `witness-scope-enforced` | `tests/unit/v2/execution-session-gate.test.ts` |
|
|
157
|
+
| `workflow-hash-jcs-sha256` | `tests/unit/v2/golden-hashes/golden-hashes.test.ts` |
|
|
158
|
+
|
|
159
|
+
</details>
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## How to Add Coverage
|
|
164
|
+
|
|
165
|
+
Add `@enforces` annotations to your test files:
|
|
166
|
+
|
|
167
|
+
```typescript
|
|
168
|
+
/**
|
|
169
|
+
* @enforces event-index-zero-based
|
|
170
|
+
* @enforces event-index-monotonic-contiguous
|
|
171
|
+
*/
|
|
172
|
+
describe('session event ordering', () => {
|
|
173
|
+
// tests that verify these locks...
|
|
174
|
+
});
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Then run: `npm run generate:locks`
|