agentera 3.0.0-dev.27 → 3.0.0-dev.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/README.md +7 -5
  2. package/bundle/CHANGELOG.md +17 -2
  3. package/bundle/DESIGN.md +3 -7
  4. package/bundle/README.md +8 -10
  5. package/bundle/UPGRADE.md +60 -16
  6. package/bundle/fixtures/routing/hybrid-corpus.yaml +154 -0
  7. package/bundle/references/adapters/package-registry.yaml +2 -0
  8. package/bundle/references/adapters/package-surface-characterization.md +2 -3
  9. package/bundle/references/adapters/runtime-lifecycle-authority.yaml +2 -3
  10. package/bundle/references/adapters/runtime-retired-resources.yaml +78 -14
  11. package/bundle/references/analysis/benchmark.md +2 -9
  12. package/bundle/references/artifacts/state-storage-authority.yaml +308 -14
  13. package/bundle/references/cli/audience-namespace-cli-migration.yaml +1 -1
  14. package/bundle/references/cli/bundle-skill-vocabulary.yaml +1 -1
  15. package/bundle/references/cli/capability-instruction-contract.yaml +0 -3
  16. package/bundle/references/cli/capability-instruction-structure.md +2 -2
  17. package/bundle/references/cli/hybrid-route-contract.yaml +416 -0
  18. package/bundle/references/cli/prime-consumer-compatibility.yaml +12 -11
  19. package/bundle/references/cli/routing-execution-vocabulary.yaml +0 -4
  20. package/bundle/references/cli/routing-model.md +136 -91
  21. package/bundle/references/cli/trigger-schema-enrichment.md +50 -46
  22. package/bundle/references/cli/vocabulary.md +8 -11
  23. package/bundle/references/meta/documentation-inventory.md +1 -3
  24. package/bundle/skills/agentera/SKILL.md +50 -18
  25. package/bundle/skills/agentera/capabilities/audit/schemas/triggers.yaml +13 -35
  26. package/bundle/skills/agentera/capabilities/build/schemas/triggers.yaml +14 -36
  27. package/bundle/skills/agentera/capabilities/design/schemas/triggers.yaml +5 -34
  28. package/bundle/skills/agentera/capabilities/discuss/schemas/triggers.yaml +6 -40
  29. package/bundle/skills/agentera/capabilities/document/schemas/triggers.yaml +5 -34
  30. package/bundle/skills/agentera/capabilities/optimize/schemas/triggers.yaml +4 -35
  31. package/bundle/skills/agentera/capabilities/orchestrate/schemas/artifacts.yaml +10 -6
  32. package/bundle/skills/agentera/capabilities/orchestrate/schemas/exit.yaml +3 -2
  33. package/bundle/skills/agentera/capabilities/orchestrate/schemas/triggers.yaml +5 -37
  34. package/bundle/skills/agentera/capabilities/orchestrate/schemas/validation.yaml +6 -5
  35. package/bundle/skills/agentera/capabilities/plan/schemas/triggers.yaml +8 -31
  36. package/bundle/skills/agentera/capabilities/profile/schemas/triggers.yaml +8 -37
  37. package/bundle/skills/agentera/capabilities/research/schemas/triggers.yaml +5 -29
  38. package/bundle/skills/agentera/capabilities/status/schemas/triggers.yaml +7 -47
  39. package/bundle/skills/agentera/capabilities/vision/schemas/triggers.yaml +7 -39
  40. package/bundle/skills/agentera/capability_schema_contract.yaml +29 -29
  41. package/bundle/skills/agentera/route-phrases.yaml +81 -0
  42. package/bundle/skills/agentera/schemas/artifacts/health.yaml +25 -7
  43. package/bundle/skills/agentera/schemas/artifacts/plan.yaml +1 -2
  44. package/dist/capabilities/discuss/instructions.js +1 -1
  45. package/dist/capabilities/discuss/instructions.js.map +1 -1
  46. package/dist/capabilities/orchestrate/instructions.js +22 -2
  47. package/dist/capabilities/orchestrate/instructions.js.map +1 -1
  48. package/dist/capabilities/plan/instructions.js +1 -1
  49. package/dist/capabilities/plan/instructions.js.map +1 -1
  50. package/dist/cli/capabilityContext/evidence.js +1 -1
  51. package/dist/cli/capabilityContext/evidence.js.map +1 -1
  52. package/dist/cli/capabilityContext/startup.js +2 -0
  53. package/dist/cli/capabilityContext/startup.js.map +1 -1
  54. package/dist/cli/commands/entityMigrate.js +7 -3
  55. package/dist/cli/commands/entityMigrate.js.map +1 -1
  56. package/dist/cli/commands/prime/briefOrientation.js +10 -3
  57. package/dist/cli/commands/prime/briefOrientation.js.map +1 -1
  58. package/dist/cli/commands/prime/collectEntityOrientation.js +64 -4
  59. package/dist/cli/commands/prime/collectEntityOrientation.js.map +1 -1
  60. package/dist/cli/commands/prime/orientationOutput.js +41 -15
  61. package/dist/cli/commands/prime/orientationOutput.js.map +1 -1
  62. package/dist/cli/commands/prime.js +4 -3
  63. package/dist/cli/commands/prime.js.map +1 -1
  64. package/dist/cli/commands/route.js +142 -0
  65. package/dist/cli/commands/route.js.map +1 -0
  66. package/dist/cli/commands/schema.js +21 -23
  67. package/dist/cli/commands/schema.js.map +1 -1
  68. package/dist/cli/commands/state/write.js +19 -0
  69. package/dist/cli/commands/state/write.js.map +1 -1
  70. package/dist/cli/commands/upgrade.js +1 -1
  71. package/dist/cli/commands/upgrade.js.map +1 -1
  72. package/dist/cli/commands/validate.js +2 -119
  73. package/dist/cli/commands/validate.js.map +1 -1
  74. package/dist/cli/commands/verify.js +17 -1
  75. package/dist/cli/commands/verify.js.map +1 -1
  76. package/dist/cli/dispatch/check.js +2 -7
  77. package/dist/cli/dispatch/check.js.map +1 -1
  78. package/dist/cli/dispatch/index.js +18 -0
  79. package/dist/cli/dispatch/index.js.map +1 -1
  80. package/dist/cli/dispatch/lifecycle.js +7 -5
  81. package/dist/cli/dispatch/lifecycle.js.map +1 -1
  82. package/dist/cli/errors.js +2 -2
  83. package/dist/cli/errors.js.map +1 -1
  84. package/dist/cli/help.js +24 -5
  85. package/dist/cli/help.js.map +1 -1
  86. package/dist/cli/migrationRequired.js +1 -1
  87. package/dist/cli/migrationRequired.js.map +1 -1
  88. package/dist/eval/hybridRouteEvaluation.js +156 -0
  89. package/dist/eval/hybridRouteEvaluation.js.map +1 -0
  90. package/dist/registries/capabilityContract.js +5 -20
  91. package/dist/registries/capabilityContract.js.map +1 -1
  92. package/dist/registries/hybridRoute.js +203 -0
  93. package/dist/registries/hybridRoute.js.map +1 -0
  94. package/dist/registries/hybridRouteReceipt.js +221 -0
  95. package/dist/registries/hybridRouteReceipt.js.map +1 -0
  96. package/dist/registries/triggerLoader.js +7 -43
  97. package/dist/registries/triggerLoader.js.map +1 -1
  98. package/dist/release/releaseMetadata.js +2 -0
  99. package/dist/release/releaseMetadata.js.map +1 -1
  100. package/dist/runtime/lifecycleAuthority.js +10 -11
  101. package/dist/runtime/lifecycleAuthority.js.map +1 -1
  102. package/dist/runtime/nativeResourceCleanup.js +317 -0
  103. package/dist/runtime/nativeResourceCleanup.js.map +1 -0
  104. package/dist/setup/codex/cli.js +9 -40
  105. package/dist/setup/codex/cli.js.map +1 -1
  106. package/dist/setup/codex/configToml.js +2 -83
  107. package/dist/setup/codex/configToml.js.map +1 -1
  108. package/dist/setup/codex/constants.js +0 -15
  109. package/dist/setup/codex/constants.js.map +1 -1
  110. package/dist/setup/codex/state.js +2 -20
  111. package/dist/setup/codex/state.js.map +1 -1
  112. package/dist/setup/codex.js +2 -4
  113. package/dist/setup/codex.js.map +1 -1
  114. package/dist/state/archiveDiscovery.js +24 -35
  115. package/dist/state/archiveDiscovery.js.map +1 -1
  116. package/dist/state/canonicalMigrationRecord.js +37 -0
  117. package/dist/state/canonicalMigrationRecord.js.map +1 -0
  118. package/dist/state/decisionEntities.js +73 -33
  119. package/dist/state/decisionEntities.js.map +1 -1
  120. package/dist/state/decisionLegacyValidation.js +31 -0
  121. package/dist/state/decisionLegacyValidation.js.map +1 -1
  122. package/dist/state/decisionMigrationProvenance.js +117 -0
  123. package/dist/state/decisionMigrationProvenance.js.map +1 -0
  124. package/dist/state/durability.js +24 -5
  125. package/dist/state/durability.js.map +1 -1
  126. package/dist/state/entityCutover.js +2 -2
  127. package/dist/state/entityCutover.js.map +1 -1
  128. package/dist/state/entityMigrationCausality.js +99 -0
  129. package/dist/state/entityMigrationCausality.js.map +1 -0
  130. package/dist/state/entityMigrationPreview.js +138 -77
  131. package/dist/state/entityMigrationPreview.js.map +1 -1
  132. package/dist/state/entityStorage.js +59 -24
  133. package/dist/state/entityStorage.js.map +1 -1
  134. package/dist/state/healthEntities.js +69 -33
  135. package/dist/state/healthEntities.js.map +1 -1
  136. package/dist/state/healthEntityValidation.js +14 -1
  137. package/dist/state/healthEntityValidation.js.map +1 -1
  138. package/dist/state/legacySummaryRecord.js +7 -0
  139. package/dist/state/legacySummaryRecord.js.map +1 -0
  140. package/dist/state/listCursor.js +43 -0
  141. package/dist/state/listCursor.js.map +1 -0
  142. package/dist/state/migrationSourceBinding.js +29 -0
  143. package/dist/state/migrationSourceBinding.js.map +1 -0
  144. package/dist/state/progressEntities.js +35 -59
  145. package/dist/state/progressEntities.js.map +1 -1
  146. package/dist/state/retrievalAuthority.js +10 -0
  147. package/dist/state/retrievalAuthority.js.map +1 -1
  148. package/dist/state/summaryEntityRead.js +26 -0
  149. package/dist/state/summaryEntityRead.js.map +1 -0
  150. package/dist/state/summaryMigrationProvenance.js +67 -0
  151. package/dist/state/summaryMigrationProvenance.js.map +1 -0
  152. package/dist/state/summarySourceRowAuthority.js +37 -0
  153. package/dist/state/summarySourceRowAuthority.js.map +1 -0
  154. package/dist/state/write/explain.js +2 -1
  155. package/dist/state/write/explain.js.map +1 -1
  156. package/dist/upgrade/lifecycleUpgrade.js +14 -14
  157. package/dist/upgrade/lifecycleUpgrade.js.map +1 -1
  158. package/dist/upgrade/upgradeOrchestrator.js +12 -12
  159. package/dist/upgrade/upgradeOrchestrator.js.map +1 -1
  160. package/dist/validate/capability.js +11 -2
  161. package/dist/validate/capability.js.map +1 -1
  162. package/package.json +2 -2
  163. package/bundle/references/analysis/analytics-boundary-proportional-2026-07-20.yaml +0 -74
  164. package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-1.json.gz +0 -0
  165. package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-2.json.gz +0 -0
  166. package/bundle/references/analysis/evidence/analytics-boundary-proportional-2026-07-20/source-focused-3.json.gz +0 -0
  167. package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-1.json.gz +0 -0
  168. package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-2.json.gz +0 -0
  169. package/bundle/references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-3.json.gz +0 -0
  170. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-cli-route.log.gz +0 -0
  171. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-cli.log.gz +0 -0
  172. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/precommit-documentation.log.gz +0 -0
  173. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/recompute.mjs +0 -98
  174. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-1.json.gz +0 -0
  175. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-2.json.gz +0 -0
  176. package/bundle/references/analysis/evidence/verification-baseline-2026-07-20/source-3.json.gz +0 -0
  177. package/bundle/references/analysis/migration-pagination-proportional-2026-07-20.yaml +0 -64
  178. package/bundle/references/analysis/verification-baseline-2026-07-20.yaml +0 -313
  179. package/bundle/references/analysis/verification-final-proof-2026-07-21.yaml +0 -340
  180. package/bundle/references/analysis/worker-policy-2026-07-21.yaml +0 -207
  181. package/bundle/skills/agentera/agents/audit.toml +0 -6
  182. package/bundle/skills/agentera/agents/build.toml +0 -6
  183. package/bundle/skills/agentera/agents/design.toml +0 -6
  184. package/bundle/skills/agentera/agents/discuss.toml +0 -6
  185. package/bundle/skills/agentera/agents/document.toml +0 -6
  186. package/bundle/skills/agentera/agents/optimize.toml +0 -6
  187. package/bundle/skills/agentera/agents/orchestrate.toml +0 -6
  188. package/bundle/skills/agentera/agents/plan.toml +0 -6
  189. package/bundle/skills/agentera/agents/profile.toml +0 -6
  190. package/bundle/skills/agentera/agents/research.toml +0 -6
  191. package/bundle/skills/agentera/agents/status.toml +0 -6
  192. package/bundle/skills/agentera/agents/vision.toml +0 -6
  193. package/dist/runtime/retiredRuntimeCleanup.js +0 -238
  194. package/dist/runtime/retiredRuntimeCleanup.js.map +0 -1
  195. package/dist/setup/codex/agents.js +0 -96
  196. package/dist/setup/codex/agents.js.map +0 -1
@@ -1,98 +0,0 @@
1
- #!/usr/bin/env node
2
- import fs from "node:fs";
3
- import path from "node:path";
4
- import zlib from "node:zlib";
5
-
6
- const root = import.meta.dirname;
7
- const median = (values) => [...values].sort((a, b) => a - b)[Math.floor(values.length / 2)];
8
- const round = (value) => Math.round(value * 1000) / 1000;
9
- const sources = [];
10
- const assertionsByIdentity = new Map();
11
-
12
- for (let sample = 1; sample <= 3; sample += 1) {
13
- const report = JSON.parse(
14
- zlib.gunzipSync(fs.readFileSync(path.join(root, `source-${sample}.json.gz`))),
15
- );
16
- const assertions = report.testResults.flatMap((file) =>
17
- file.assertionResults.map((assertion) => ({
18
- file: file.name.split("/packages/cli/").at(-1),
19
- name: assertion.fullName,
20
- duration_ms: assertion.duration ?? 0,
21
- })),
22
- );
23
- const jsonElapsedMs =
24
- Math.max(...report.testResults.map((file) => file.endTime)) - report.startTime;
25
- sources.push({
26
- sample,
27
- files: report.testResults.length,
28
- tests: report.numTotalTests,
29
- cumulative_assertion_ms: round(
30
- assertions.reduce((total, assertion) => total + assertion.duration_ms, 0),
31
- ),
32
- json_elapsed_ms: round(jsonElapsedMs),
33
- });
34
- for (const assertion of assertions) {
35
- const identity = `${assertion.file}\n${assertion.name}`;
36
- const entry = assertionsByIdentity.get(identity) ?? {
37
- file: assertion.file,
38
- test: assertion.name,
39
- samples_ms: [],
40
- };
41
- entry.samples_ms.push(assertion.duration_ms);
42
- assertionsByIdentity.set(identity, entry);
43
- }
44
- }
45
-
46
- const slowest = [...assertionsByIdentity.values()]
47
- .map((entry) => ({
48
- ...entry,
49
- samples_ms: entry.samples_ms.map(round),
50
- median_ms: round(median(entry.samples_ms)),
51
- }))
52
- .sort((a, b) => b.median_ms - a.median_ms)
53
- .slice(0, 10);
54
-
55
- function hook(name) {
56
- const text = zlib.gunzipSync(fs.readFileSync(path.join(root, name))).toString("utf8");
57
- const wrapper = JSON.parse(text.trim().split("\n").at(-1));
58
- const lefthook = Number(/done in ([0-9.]+) seconds/.exec(text)?.[1]) * 1000;
59
- const policies = [...text.matchAll(/✔️ ([^\n]+?) \(([0-9.]+) seconds\)/g)].map((match) => ({
60
- name: match[1],
61
- duration_ms: Number(match[2]) * 1000,
62
- }));
63
- return {
64
- wall_ms: wrapper.wall_ms,
65
- lefthook_ms: lefthook,
66
- exit_status: wrapper.exit_status,
67
- policies,
68
- };
69
- }
70
-
71
- const route = zlib
72
- .gunzipSync(fs.readFileSync(path.join(root, "precommit-cli-route.log.gz")))
73
- .toString("utf8")
74
- .trim()
75
- .split("\n");
76
-
77
- console.log(
78
- JSON.stringify(
79
- {
80
- source_samples: sources,
81
- source_medians: {
82
- cumulative_assertion_ms: round(
83
- median(sources.map((sample) => sample.cumulative_assertion_ms)),
84
- ),
85
- json_elapsed_ms: round(median(sources.map((sample) => sample.json_elapsed_ms))),
86
- files: median(sources.map((sample) => sample.files)),
87
- tests: median(sources.map((sample) => sample.tests)),
88
- },
89
- slowest_tests_by_median: slowest,
90
- pre_commit: {
91
- representative_cli: { ...hook("precommit-cli.log.gz"), route },
92
- representative_documentation: hook("precommit-documentation.log.gz"),
93
- },
94
- },
95
- null,
96
- 2,
97
- ),
98
- );
@@ -1,64 +0,0 @@
1
- schemaVersion: agentera.verificationMeasurement.v1
2
- status: pass
3
- captured: 2026-07-20
4
-
5
- comparison:
6
- test: uses snapshot-bound whole-entry pagination to recover every entry without gaps or duplicates
7
- metric: assertion_duration_ms
8
- direction: lower
9
- before:
10
- authority: references/analysis/verification-baseline-2026-07-20.yaml
11
- fixture_entries: 400
12
- samples_ms: [18325, 16575, 16680]
13
- median_ms: 16680
14
- after:
15
- fixture_entries: 40
16
- samples_ms: [179.449348, 164.137058, 178.642103]
17
- median_ms: 178.642103
18
- raw_report_compression: gzip_lossless_mtime_zero
19
- raw_reports:
20
- - references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-1.json.gz
21
- - references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-2.json.gz
22
- - references/analysis/evidence/migration-pagination-proportional-2026-07-20/source-focused-3.json.gz
23
- reduction_ms: 16501.357897
24
- reduction_percent: 98.929004
25
- speedup: 93.371046
26
-
27
- protocol:
28
- inherited_from: references/analysis/verification-baseline-2026-07-20.yaml#protocol.source
29
- environment:
30
- VITEST_MAX_WORKERS: "4"
31
- warmup_runs: 1
32
- retained_runs: 3
33
- command: >-
34
- pnpm -C packages/cli exec vp test run --config vite.config.ts
35
- test/state/entityMigrationPreview.test.ts
36
- -t "uses snapshot-bound whole-entry pagination" --reporter=json
37
- note: >-
38
- The before samples are the exact assertion durations retained by Task 1's
39
- full-source protocol. The after samples isolate the same assertion so the
40
- proportional fixture cost is directly reproducible without rerunning
41
- unrelated source tests.
42
-
43
- coverage:
44
- proportional_source:
45
- owner: source
46
- path: packages/cli/test/state/entityMigrationPreview.test.ts
47
- fixture_entries: 40
48
- guarantees: [multi_page, whole_entry, byte_bound, no_gaps, no_duplicates, continuation_command]
49
- cursor_mutations:
50
- owner: source
51
- mutations: [source, authority, filter, order, project]
52
- guarantees: [continuation_rejected, restart_without_cursor, zero_write]
53
- production_cap:
54
- owner: performance
55
- path: packages/cli/test/performance/entityMigrationPreviewCap.test.ts
56
- fixture_entries: 400
57
- response_cap_bytes: 32768
58
- owner_command: pnpm -C packages/cli test:performance
59
- policies: [scheduled, release]
60
-
61
- caveats:
62
- - The decisions query remained degraded; missing decision detail was not reconstructed.
63
- - Build startup omitted decisions, vision, and profile state; no refresh or inferred approval was performed.
64
- - Decision satisfaction remained unavailable for llavvlpcmb and djmjbmruyk.
@@ -1,313 +0,0 @@
1
- schemaVersion: agentera.verificationBaseline.v1
2
- status: baseline
3
- captured: 2026-07-20
4
- source_revision: af9cf773
5
-
6
- runner:
7
- name: local-16-logical-cpu-node22
8
- plan_label: named 16-core Node 22 runner
9
- plan_label_mapping: >-
10
- The plan's "16-core" label denotes the 16 logical scheduling CPUs reported
11
- by nproc and os.cpus(), not 16 physical cores. The hardware is truthfully an
12
- 8-physical-core, 16-thread processor; acceptance wording is preserved.
13
- os: Linux 7.1.4-1-cachyos x86_64
14
- cpu: AMD Ryzen 7 9800X3D 8-Core Processor
15
- physical_cores: 8
16
- logical_cpus: 16
17
- node: v22.23.1
18
- pnpm: 10.30.3
19
-
20
- protocol:
21
- source:
22
- command: pnpm -C packages/cli exec vp test run --config vite.config.ts --reporter=default --reporter=json
23
- environment:
24
- VITEST_MAX_WORKERS: "4"
25
- warmup_runs: 1
26
- retained_runs: 3
27
- warmup_result:
28
- wall_ms: 109757
29
- status: pass
30
- retained: false
31
- wall_definition: elapsed time around the complete pnpm process
32
- runner_duration_definition: Vitest duration from startup through test completion
33
- cumulative_assertion_definition: sum of JSON reporter assertion durations; concurrent work overlaps
34
- setup_definition: Vitest setup component reported by the default reporter
35
- slowest_definition: median assertion duration across the three retained runs
36
- raw_report_format: Vitest JSON reporter output
37
- raw_report_compression: gzip (RFC 1952), lossless, deterministic mtime zero
38
- pre_commit:
39
- command: pnpm exec lefthook run pre-commit
40
- method: >-
41
- Stage one reversible representative change, run the complete hook, record
42
- lefthook policy timings and outer wall time, then restore the index and
43
- worktree. Intentional plan entities were not staged for these samples.
44
-
45
- motivation_reconciliation:
46
- plan_observation:
47
- wall_ms: 79100
48
- classification: exploratory_single_run
49
- task_1_baseline:
50
- wall_median_ms: 81466
51
- classification: authoritative_three_run_process_wall_baseline
52
- resolution: >-
53
- The plan motivation's 79.1-second value was an exploratory one-run
54
- observation used to justify measurement work. Task 1's protocol supersedes
55
- it with the retained three-run 81.466-second median. The immutable plan
56
- intent remains unchanged; later comparisons use 81.466 seconds.
57
-
58
- source_samples:
59
- - sample: 1
60
- status: pass
61
- wall_ms: 86237
62
- runner_duration_ms: 85620
63
- json_elapsed_ms: 85628.146
64
- setup_ms: 0
65
- transform_ms: 2050
66
- import_ms: 14550
67
- cumulative_assertion_ms: 292922
68
- files: 191
69
- tests: 2230
70
- - sample: 2
71
- status: pass
72
- wall_ms: 81090
73
- runner_duration_ms: 80520
74
- json_elapsed_ms: 80526.117
75
- setup_ms: 0
76
- transform_ms: 1760
77
- import_ms: 14100
78
- cumulative_assertion_ms: 280110
79
- files: 191
80
- tests: 2230
81
- - sample: 3
82
- status: pass
83
- wall_ms: 81466
84
- runner_duration_ms: 80900
85
- json_elapsed_ms: 80904.892
86
- setup_ms: 0
87
- transform_ms: 1730
88
- import_ms: 13970
89
- cumulative_assertion_ms: 280978
90
- files: 191
91
- tests: 2230
92
-
93
- source_median:
94
- wall_ms: 81466
95
- runner_duration_ms: 80900
96
- json_elapsed_ms: 80904.892
97
- setup_ms: 0
98
- transform_ms: 1760
99
- import_ms: 14100
100
- cumulative_assertion_ms: 280978
101
- workers: 4
102
- files: 191
103
- tests: 2230
104
-
105
- slowest_tests_by_median:
106
- - file: test/state/entityStorage.test.ts
107
- test: repeatedly gives simultaneous stale-lock reclaimers one publisher and one explicit loser
108
- samples_ms: [21905, 18628, 18791]
109
- median_ms: 18791
110
- - file: test/state/entityMigrationPreview.test.ts
111
- test: uses snapshot-bound whole-entry pagination to recover every entry without gaps or duplicates
112
- samples_ms: [18325, 16575, 16680]
113
- median_ms: 16680
114
- - file: test/cli/primeProjectionContract.test.ts
115
- test: keeps cold entity-mode startup and retrieval within authority budgets at declared scales
116
- samples_ms: [11256, 10960, 11049]
117
- median_ms: 11049
118
- - file: test/analytics/tierReader.test.ts
119
- test: reports oversized with the artifact path when a shard exceeds the cap
120
- samples_ms: [13089, 10497, 10245]
121
- median_ms: 10497
122
- - file: test/analytics/extractCorpusParity.test.ts
123
- test: matches record_count, earliest, and latest across probe shapes for TS
124
- samples_ms: [10715, 9891, 9864]
125
- median_ms: 9891
126
- - file: test/analytics/tierReader.test.ts
127
- test: retains an oversized record in its own shard and reports oversized state
128
- samples_ms: [9350, 8554, 8589]
129
- median_ms: 8589
130
- - file: test/analytics/extractCorpusParity.test.ts
131
- test: matches TypeScript extractor probe on seeded opencode.db
132
- samples_ms: [8242, 7416, 7161]
133
- median_ms: 7416
134
- - file: test/analytics/extractCorpusParity.test.ts
135
- test: matches generated Python extractor probe on seeded opencode.db
136
- samples_ms: [6416, 6397, 6400]
137
- median_ms: 6400
138
- - file: test/state/planEntities.test.ts
139
- test: keeps one active plan unambiguous beside more than twenty archived plans
140
- samples_ms: [5629, 5632, 5725]
141
- median_ms: 5632
142
- - file: test/cli/primeCompatibilityBoundary.test.ts
143
- test: declares exactly the fields the prime selector accepts
144
- samples_ms: [4158, 4055, 4055]
145
- median_ms: 4055
146
-
147
- pre_commit_samples:
148
- - sample: representative_cli
149
- staged_path: packages/cli/src/cli/todoMarkdown.ts
150
- status: pass
151
- wall_ms: 6227
152
- lefthook_ms: 5900
153
- selected_policies:
154
- - name: agentera
155
- command: pnpm -C packages/cli build && node packages/cli/dist/bin/agentera.js check compact
156
- duration_ms: 2950
157
- - name: py-ts-parity
158
- command: bash packages/cli/scripts/py_ts_parity.sh --check --json
159
- duration_ms: 30
160
- - name: tests
161
- command: bash scripts/precommit-vitest.sh packages/cli/src/cli/todoMarkdown.ts
162
- duration_ms: 2920
163
- route: targeted
164
- targets:
165
- - test/cli/todoMarkdown.test.ts
166
- - test/cli/state.test.ts
167
- - test/cli/orientation.test.ts
168
- - sample: representative_documentation
169
- staged_path: README.md
170
- status: pass
171
- wall_ms: 3421
172
- lefthook_ms: 3100
173
- selected_policies:
174
- - name: agentera
175
- command: pnpm -C packages/cli build && node packages/cli/dist/bin/agentera.js check compact
176
- duration_ms: 2960
177
- - name: docs
178
- command: bunx markdownlint --dot --fix
179
- duration_ms: 100
180
- - name: py-ts-parity
181
- command: bash packages/cli/scripts/py_ts_parity.sh --check --json
182
- duration_ms: 30
183
- unselected_policies:
184
- - name: tests
185
- reason: root README.md is outside the pre-commit tests glob
186
-
187
- raw_evidence:
188
- root: references/analysis/evidence/verification-baseline-2026-07-20
189
- source_reports:
190
- - sample: 1
191
- path: references/analysis/evidence/verification-baseline-2026-07-20/source-1.json.gz
192
- format: vitest_json
193
- compression: gzip_lossless_mtime_zero
194
- compressed_bytes: 94678
195
- compressed_sha256: 8431150fe302c63493387e7f6b0893309f1fc5c56bb32e5ed7a54ce842f5c277
196
- uncompressed_bytes: 769383
197
- uncompressed_sha256: 65014942bfe5111d48b2d871a326bb995b5ae258d94dd2d54273dc6273705eee
198
- - sample: 2
199
- path: references/analysis/evidence/verification-baseline-2026-07-20/source-2.json.gz
200
- format: vitest_json
201
- compression: gzip_lossless_mtime_zero
202
- compressed_bytes: 94578
203
- compressed_sha256: ed1dab5caabf0155e3ebc54f15830028abf0d6405bda13e1b9544679d1a07af0
204
- uncompressed_bytes: 769397
205
- uncompressed_sha256: a2672026c9d41ae69861145fe41087ddabcff7ee7dfd8dfb78fb73bfb67ea74c
206
- - sample: 3
207
- path: references/analysis/evidence/verification-baseline-2026-07-20/source-3.json.gz
208
- format: vitest_json
209
- compression: gzip_lossless_mtime_zero
210
- compressed_bytes: 94695
211
- compressed_sha256: 6b9f33dff97d886a4f004474b8049b4fc81e524d56e0329f2f431694cfeadefe
212
- uncompressed_bytes: 769322
213
- uncompressed_sha256: e31078a8eddb48a199b699b7d84739984fc5ec4a1a2d56b20183fabf4460aae5
214
- pre_commit_reports:
215
- - sample: representative_cli
216
- path: references/analysis/evidence/verification-baseline-2026-07-20/precommit-cli.log.gz
217
- format: lefthook_text_with_json_wall_footer
218
- compression: gzip_lossless_mtime_zero
219
- compressed_bytes: 176
220
- compressed_sha256: 5515ce69ebd4c2700f112868322db8cbe7e804c5a952b0596bee3def9bba7c41
221
- uncompressed_bytes: 210
222
- uncompressed_sha256: eecbcb3fac333762ada9a7a6071fea791e26e093c025c83c4298cc3d2d26fe88
223
- route_path: references/analysis/evidence/verification-baseline-2026-07-20/precommit-cli-route.log.gz
224
- route_format: precommit_vitest_plain_text_route
225
- route_compression: gzip_lossless_mtime_zero
226
- route_compressed_bytes: 83
227
- route_compressed_sha256: a50db85abdfcd27743bd181d19a3d2ce183c6822d9cd90b7b6a47d688d521797
228
- route_uncompressed_bytes: 116
229
- route_uncompressed_sha256: d8bf45b9e554ea03d2b5fa4efd90f397c31620dfdaf0c005d597c766f6bfd4b2
230
- - sample: representative_documentation
231
- path: references/analysis/evidence/verification-baseline-2026-07-20/precommit-documentation.log.gz
232
- format: lefthook_text_with_json_wall_footer
233
- compression: gzip_lossless_mtime_zero
234
- compressed_bytes: 180
235
- compressed_sha256: 047cbeb4e445f7792872a10c0dd640fa191a51c34097f4b319dd653806dca9b4
236
- uncompressed_bytes: 219
237
- uncompressed_sha256: acc0f47b9582805b74fd29cf5a54611a8149b07bbccb550736b7dce78eba66b2
238
- recomputation:
239
- metrics_command: node references/analysis/evidence/verification-baseline-2026-07-20/recompute.mjs
240
- compressed_hash_command: sha256sum references/analysis/evidence/verification-baseline-2026-07-20/*.gz
241
- uncompressed_hash_command: for f in references/analysis/evidence/verification-baseline-2026-07-20/*.gz; do gzip -dc "$f" | sha256sum; done
242
- source_metrics: >-
243
- The script recomputes exact JSON elapsed times, cumulative assertion sums,
244
- file/test totals, three-run medians, and the top-ten median assertion
245
- ranking directly from all three reports.
246
- hook_metrics: >-
247
- The script parses lefthook total and policy durations plus the outer wall
248
- JSON footer, and reports the retained CLI route targets.
249
-
250
- production_scale_ownership:
251
- - requirement: entity startup, bounded list, and exact retrieval at 100 and 1000 entities across every declared boundary, five cold-process repetitions
252
- authority: references/artifacts/state-storage-authority.yaml#entity_target.measurement_contract
253
- current_owner: test/performance/entityAuthorityPerformance.test.ts
254
- current_policy: scheduled_and_release
255
- intended_gates: [scheduled, release]
256
- merge_evidence: retain a bounded functional source smoke when the performance owner is separated
257
- - requirement: archive enumeration at 100 and 1000 entries within latency, heap, and 32768-byte response bounds
258
- authority: references/artifacts/state-storage-authority.yaml#budgets.list.benchmark
259
- current_owner: test/state/listRetrieval.test.ts
260
- current_policy: merge
261
- intended_gates: [scheduled, release]
262
- merge_evidence: retain deterministic response-bound and pagination correctness coverage
263
- - requirement: whole-entry migration pagination recovers every identity without gaps or duplicates under the production response cap
264
- authority: references/artifacts/state-storage-authority.yaml#budgets.projection
265
- current_owner: test/state/entityMigrationPreview.test.ts
266
- current_policy: merge
267
- intended_gates: [merge, release]
268
- merge_evidence: production-cap correctness remains merge-blocking until an authority amendment says otherwise
269
- - requirement: 64 MiB analytics shard, signal, and reader bounds reject oversized input without loading it whole
270
- authority: references/analysis/evidence-tier-authority.yaml#bounds
271
- current_owner: test/analytics/oversizedRegression.test.ts and test/analytics/tierReader.test.ts
272
- current_policy: merge
273
- intended_gates: [merge, release]
274
- merge_evidence: sparse files and constant assertions make the production bound deterministic and proportional
275
- - requirement: dead-process writer-lock reclamation preserves one publisher, one explicit loser, and no residue under repetition
276
- authority: references/artifacts/state-storage-authority.yaml#entity_target.storage_boundary.shared_primitives.project_wide_id_claim.interrupted_writer_recovery
277
- current_owner: test/state/entityStorage.test.ts
278
- current_policy: merge
279
- intended_gates: [scheduled, release]
280
- merge_evidence: retain deterministic lock correctness and run stress on relevant writer changes until the owner split is proven
281
-
282
- risk_decisions:
283
- fast_policy:
284
- decision: fast is an execution policy that composes evidence owners; it never owns evidence
285
- source_package_boundary:
286
- decision: source and package proof remain distinct owners and commands
287
- worker_count:
288
- state: unresolved
289
- current_default_workers_on_runner: 4
290
- upper_bound_warning: 12 workers previously failed under contention; this task did not reproduce or supersede that exploratory result
291
- resolution_criteria:
292
- - isolate generated outputs before testing higher concurrency
293
- - benchmark each CI runner rather than infer capacity from logical CPU count
294
- - consider only candidates at or below 8 workers on this runner
295
- - require three consecutive warm passes with no timeout, retry, shared-output race, or hidden failure
296
- - select only a candidate that meets the plan's final wall-time and improvement targets
297
- lanes:
298
- state: unresolved
299
- resolution_criteria:
300
- - trace every test file to exactly one source, stress, performance, or package owner
301
- - split mixed files before assigning policy
302
- - keep deterministic correctness and security failures merge-blocking
303
- - move probabilistic stress and machine-sensitive performance only after proportional merge evidence exists
304
- - compose named owners for targeted, local, merge, scheduled, and release policies
305
- - keep fast as a policy composition, never an owner
306
-
307
- caveats:
308
- - The decisions query was degraded and compacted; missing decision detail was not reconstructed.
309
- - Firm runtime, merge, and lifecycle constraints were preserved, but llavvlpcmb and djmjbmruyk had no satisfaction record.
310
- - Build orchestration context lacked decisions, vision, and profile families; no refresh or inferred approval was performed.
311
- - Source timings include normal local-run variability; the excluded warmup was materially slower than retained runs.
312
- - Outer process-wall samples are the measurement wrapper's structured records; retained JSON reports independently reproduce the separately reported Vitest duration median within 5ms and exactly reproduce assertion, ranking, and count metrics.
313
- - Earlier 8-worker and 12-worker exploration is context only, not baseline evidence from this protocol.