instar 1.3.900 → 1.3.902

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 (29) hide show
  1. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  2. package/dist/core/PostUpdateMigrator.js +5 -0
  3. package/dist/core/PostUpdateMigrator.js.map +1 -1
  4. package/dist/monitoring/BlockerLifecycleLedger.d.ts +2 -1
  5. package/dist/monitoring/BlockerLifecycleLedger.d.ts.map +1 -1
  6. package/dist/monitoring/BlockerLifecycleLedger.js +52 -8
  7. package/dist/monitoring/BlockerLifecycleLedger.js.map +1 -1
  8. package/dist/monitoring/BlockerLifecycleService.d.ts +4 -0
  9. package/dist/monitoring/BlockerLifecycleService.d.ts.map +1 -1
  10. package/dist/monitoring/BlockerLifecycleService.js +91 -5
  11. package/dist/monitoring/BlockerLifecycleService.js.map +1 -1
  12. package/dist/monitoring/CompletionClaimVerifier.d.ts +5 -1
  13. package/dist/monitoring/CompletionClaimVerifier.d.ts.map +1 -1
  14. package/dist/monitoring/CompletionClaimVerifier.js +40 -9
  15. package/dist/monitoring/CompletionClaimVerifier.js.map +1 -1
  16. package/dist/scaffold/templates.js +1 -1
  17. package/dist/server/CapabilityIndex.js +2 -2
  18. package/dist/server/CapabilityIndex.js.map +1 -1
  19. package/dist/server/routes.d.ts.map +1 -1
  20. package/dist/server/routes.js +83 -6
  21. package/dist/server/routes.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/data/builtin-manifest.json +63 -63
  24. package/src/scaffold/templates.ts +1 -1
  25. package/upgrades/1.3.901.md +22 -0
  26. package/upgrades/1.3.902.md +26 -0
  27. package/upgrades/eli16/throughput-count-climbing.eli16.md +17 -0
  28. package/upgrades/side-effects/claim-verification-general-verdict-metrics.md +86 -0
  29. package/upgrades/side-effects/throughput-count-climbing.md +41 -0
@@ -0,0 +1,86 @@
1
+ # Side-Effects Review — Claim-verification general verdict metrics
2
+
3
+ **Version / slug:** `claim-verification-general-verdict-metrics`
4
+ **Date:** `2026-07-21`
5
+ **Author:** `Instar Agent (instar-codey)`
6
+ **Second-pass reviewer:** `independent Codex reviewer — concurred`
7
+ **Driving spec:** `docs/specs/claim-verification-sentinel.md` §2.7
8
+
9
+ ## Summary of the change
10
+
11
+ This increment extends only `CompletionClaimVerifier`'s existing content-free statistics. Each server-admitted general claim now increments a `supported`, `refuted`, or `unverifiable` total immediately after the existing deterministic assessment and criticality-floor calculation. Refuted and unverifiable claims also increment a cross-tab keyed by the final floored criticality. Existing persisted stats load backward-compatibly, and every restored count is floored and clamped to the safe integer range. The existing `/metrics/features` response automatically exposes the new fields beneath `claimVerificationServerAdmittedOnly`; there is no new route, store, extractor, audit, or authority.
12
+
13
+ ## Decision-point inventory
14
+
15
+ - `assessClaim` verdict — **pass-through only** — the existing verdict is counted; its calculation is unchanged.
16
+ - `applyClaimCriticalityFloor` result — **pass-through only** — the existing final criticality is used as the cross-tab key; the floor is unchanged.
17
+ - Message delivery, legacy claim publication, future-claim handling, and action authorization — **not touched**.
18
+
19
+ ## 1. Over-block
20
+
21
+ No block/allow surface — over-block is not applicable. A counter write or persistence failure cannot change claim assessment, arbitration, delivery, or action behavior.
22
+
23
+ ## 2. Under-block
24
+
25
+ No block/allow surface — under-block is not applicable. These aggregates deliberately cover only claims admitted by the existing server observation path. They do not estimate transport misses, eligible coverage, or production recall, and the response keeps the explicit `claimVerificationServerAdmittedOnly` label.
26
+
27
+ ## 3. Level-of-abstraction fit
28
+
29
+ The change is at the existing owner and read surface. `CompletionClaimVerifier` already owns admitted/evaluated counters and their persisted content-free file; `/metrics/features` already projects `stats()` without a second adapter. Adding a ledger, audit summary, route, or parallel observer would duplicate the foundation and was rejected during the foundation audit.
30
+
31
+ ## 4. Signal vs authority compliance
32
+
33
+ Required reference: [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
34
+
35
+ - [x] No — this change has no block/allow surface.
36
+
37
+ The new values are aggregate observations only. They cannot withhold, rewrite, send, settle, authorize, promote, or change a criticality floor. General assessments remain automation-ineligible dark-core signals.
38
+
39
+ ## 4b. Judgment-point check
40
+
41
+ No new static heuristic exists at a competing-signals decision point. The increment counts outputs from the existing assessor and floor without reinterpreting either.
42
+
43
+ ## 5. Interactions
44
+
45
+ - **Shadowing:** none; the bump occurs after the existing assessment and final floor, before the unchanged recorder call.
46
+ - **Double-fire:** one bump per extracted claim in the one existing general-observation loop. The admission queue remains the sole production caller of observation.
47
+ - **Races:** unchanged process-local stats posture. Atomic temporary-file rename remains the existing persistence mechanism.
48
+ - **Feedback loops:** none. No runtime consumer feeds these counts into assessment, criticality, routing, or delivery.
49
+ - **Persistence compatibility:** old files omit the new maps and therefore start their new fields at zero. Malformed, negative, non-finite, fractional, and oversized counts restore as bounded integers.
50
+
51
+ ## 6. External surfaces
52
+
53
+ The authenticated read-only `/metrics/features` JSON gains additive fields under the already explicit `claimVerificationServerAdmittedOnly` object. No user notice, external API, URL, action, configuration, or operator control is added. The persisted file remains content-free: it contains only fixed enum keys, integers, and an update timestamp.
54
+
55
+ ## 6b. Operator-surface quality
56
+
57
+ No operator surface — not applicable.
58
+
59
+ ## 7. Multi-machine posture
60
+
61
+ **Machine-local by design.** The stats describe claims admitted and evaluated by this server process, so origins may legitimately differ. The existing metrics endpoint exposes this machine's server-admitted-only observation; this increment does not claim fleet aggregation or trusted replication. It emits no user-facing notice, holds no topic-transfer authority, and generates no URL.
62
+
63
+ ## 8. Rollback cost
64
+
65
+ Low. Revert the source and test changes and ship the next patch. Older binaries ignore the additive JSON keys; newer binaries recreate missing keys at zero. No schema migration, data repair, state reset, or destructive cleanup is required.
66
+
67
+ ## Conclusion
68
+
69
+ The increment is bounded, content-free, backward-compatible, and observe-only. It reuses the sole verifier and sole metrics route, preserves the server-admitted-only denominator, and introduces no authority or parallel infrastructure.
70
+
71
+ ## Second-pass review
72
+
73
+ **Reviewer:** independent Codex reviewer
74
+ **Independent read of the artifact: concur**
75
+
76
+ The reviewer found no blocking issue and confirmed that the implementation is confined to the existing verifier stats path, uses the final criticality floor without altering it, preserves all authority boundaries, and clamps persisted counts. Its one test-strengthening suggestion was incorporated: the route integration fixture now enters through `enqueue()` and the real admission queue instead of calling `observe()` directly.
77
+
78
+ ## Evidence pointers
79
+
80
+ - `tests/unit/turn-evidence-completion-verifier.test.ts`
81
+ - `tests/integration/metrics-features-routes.test.ts`
82
+ - Focused and adjacent suites: 69 tests green; repository lint and zero-silent-fallback ratchet green.
83
+
84
+ ## Class-Closure Declaration
85
+
86
+ No agent-authored-artifact defect and no self-triggered controller change — not applicable.
@@ -0,0 +1,41 @@
1
+ # Side-Effects Review — Throughput completion count and climbing trend
2
+
3
+ **Version / slug:** `throughput-count-climbing`
4
+ **Date:** `2026-07-21`
5
+ **Author:** `instar-codey`
6
+ **Second-pass reviewer:** `/root/goal4_decision_grading/throughput_second_pass — CONCUR` (migration safety, lifecycle idempotency, schema-v2 mixed-version honesty, semantic sanitizer integrity, and zero action authority)
7
+
8
+ ## 1. Decision points
9
+
10
+ Persisted `delivered` events enqueue one completion row. Startup reconciliation replays delivered commitments using the same stable opaque identity, so a crash can delay but not multiply the count. Complete UTC days are split oldest/newest; the current partial day is excluded and zero days remain visible. Schema-v1 peers are reported unsupported after the response advances to schema 2.
11
+
12
+ ## 2. Signal versus authority
13
+
14
+ The count and direction are descriptive only. They cannot select work, grade a worker, notify anyone, impose a floor, block a route or merge, or mutate a commitment. The observe-only throughput floor from #1533 remains observe-only. Reference: `docs/signal-vs-authority.md`.
15
+
16
+ ## 3. Failure and degradation
17
+
18
+ Ledger unavailability still makes only metric reads unavailable; commitment delivery succeeds independently. Queue loss is repaired by bounded reconciliation. Invalid or legacy peer bodies are excluded with an honest failure reason, never coerced to zero. An invalid delivery timestamp produces no row rather than an invented time.
19
+
20
+ ## 4. State and migration
21
+
22
+ The existing SQLite table is migrated in-place to widen its closed factor check while preserving all rows and indexes. Fresh databases create the widened schema directly. The new rows contain origin, opaque source id, timestamp, and outcome only—no user text or commitment content.
23
+
24
+ ## 5. Multi-machine behavior
25
+
26
+ Each origin counts its own authoritative commitment deliveries. Pool reads retain per-origin values and never create a fleet aggregate. Mixed versions are explicitly unsupported until upgraded; no old peer is interpreted as having zero completions.
27
+
28
+ ## 6. Privacy and external surfaces
29
+
30
+ No new endpoint, export, notice, or third-party call is added. Existing authenticated `/blocker-lifecycle/summary` and `/trend` responses gain the count factor. Source ids are one-way hashes over origin and commitment id.
31
+
32
+ ## 7. Rollback
33
+
34
+ Reverting the event consumer and response factor stops new reads without affecting delivery authority. Existing completion rows and the widened SQLite check remain inert and safe; destructive down-migration is neither needed nor attempted.
35
+
36
+ ## 8. Verification and second pass
37
+
38
+ Unit tests pin dedupe, migration, event counting, and climbing math. Integration pins restart reconciliation and idempotency. E2E-alive boots the real server and reads exact count 16 plus a 4x climbing trend through authenticated routes. Independent second-pass review confirmed lifecycle ordering, migration safety, mixed-version honesty, semantic cross-machine validation, and absence of action consumers before merge.
39
+
40
+ Post-rebase integration with the recurring maturation evaluator now includes `deliverable-completion` in its typed summary/trend maps and uses count totals as trend sample evidence. A focused maturation test proves a completion-rate contract evaluates from this shared substrate; no parallel evaluator or authority was introduced.
41
+ The independent reviewer rechecked this D7 composition and concurred: completion counts and latency samples remain correctly distinguished, zero semantics are preserved, and readiness requires a real persisted completion.