instar 1.3.910 → 1.3.912
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/README.md +1 -1
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +35 -1
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +7 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +2 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +38 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
- package/dist/core/WriteDomainRegistry.js +9 -0
- package/dist/core/WriteDomainRegistry.js.map +1 -1
- package/dist/core/machineCoherenceManifest.d.ts.map +1 -1
- package/dist/core/machineCoherenceManifest.js +15 -0
- package/dist/core/machineCoherenceManifest.js.map +1 -1
- package/dist/core/sessionPoolPromotionActivation.d.ts +42 -0
- package/dist/core/sessionPoolPromotionActivation.d.ts.map +1 -0
- package/dist/core/sessionPoolPromotionActivation.js +61 -0
- package/dist/core/sessionPoolPromotionActivation.js.map +1 -0
- package/dist/core/types.d.ts +10 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/guardManifest.d.ts.map +1 -1
- package/dist/monitoring/guardManifest.js +1 -0
- package/dist/monitoring/guardManifest.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +4 -1
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +2 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +1 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -1
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts +2 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +28 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +64 -64
- package/src/scaffold/templates.ts +4 -1
- package/upgrades/1.3.911.md +31 -0
- package/upgrades/1.3.912.md +33 -0
- package/upgrades/side-effects/agent-awareness-dark-monitoring-routes.md +111 -0
- package/upgrades/side-effects/session-pool-promotion-activation.md +52 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Side-Effects Review — dark monitoring-route agent awareness
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `agent-awareness-dark-monitoring-routes`
|
|
4
|
+
**Date:** `2026-07-23`
|
|
5
|
+
**Author:** `Instar Agent (instar-codey)`
|
|
6
|
+
**Second-pass reviewer:** `capability_honesty` (independent Codex review)
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
Adds shared CLAUDE.md awareness sections for the already-existing
|
|
11
|
+
`GET /pool/failover-gap` and `GET /pool/missing-login` status routes. Fresh
|
|
12
|
+
agents receive the sections from `generateClaudeMd`; existing agents receive
|
|
13
|
+
them through content-sniffed, additive, idempotent migration. The two existing
|
|
14
|
+
CapabilityIndex entries are intentionally unchanged.
|
|
15
|
+
|
|
16
|
+
## Decision-point inventory
|
|
17
|
+
|
|
18
|
+
- `migrateClaudeMd` heading checks — add — deterministic presence checks decide
|
|
19
|
+
whether to append documentation. They do not inspect runtime health or decide
|
|
20
|
+
any monitoring outcome.
|
|
21
|
+
- Runtime guard decisions and Attention emission — pass-through — unchanged.
|
|
22
|
+
|
|
23
|
+
## 1. Over-block
|
|
24
|
+
|
|
25
|
+
No block/allow surface is added or changed. The migration only appends missing
|
|
26
|
+
documentation.
|
|
27
|
+
|
|
28
|
+
## 2. Under-block
|
|
29
|
+
|
|
30
|
+
The awareness text cannot make a dark guard live and cannot repair either
|
|
31
|
+
condition. It explicitly says a 503 is unknown posture, not a healthy verdict,
|
|
32
|
+
and that dry-run sends no Attention item.
|
|
33
|
+
|
|
34
|
+
## 3. Level-of-abstraction fit
|
|
35
|
+
|
|
36
|
+
One shared source generates both fresh-install and migration text, preventing
|
|
37
|
+
documentation drift. Each route retains its own heading and content sniff, so a
|
|
38
|
+
partially upgraded agent receives only the genuinely missing section.
|
|
39
|
+
|
|
40
|
+
## 4. Signal vs authority compliance
|
|
41
|
+
|
|
42
|
+
**Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
|
|
43
|
+
|
|
44
|
+
- [x] No — this change has no new block/allow surface.
|
|
45
|
+
|
|
46
|
+
Both runtime features remain signal-only. The new text describes status and
|
|
47
|
+
proactive read triggers; it grants no recovery, credential, session, or
|
|
48
|
+
notification authority.
|
|
49
|
+
|
|
50
|
+
## 4b. Judgment-point check
|
|
51
|
+
|
|
52
|
+
No competing-signal or semantic judgment point is added. Heading presence is
|
|
53
|
+
an enumerable migration invariant.
|
|
54
|
+
|
|
55
|
+
## 5. Interactions
|
|
56
|
+
|
|
57
|
+
- **Shadowing:** each distinct heading is checked independently.
|
|
58
|
+
- **Double-fire:** a second migration is byte-identical and records no second
|
|
59
|
+
upgrade.
|
|
60
|
+
- **Races:** migration uses the existing single-file migration path.
|
|
61
|
+
- **Feedback loops:** reading either status route changes no state.
|
|
62
|
+
|
|
63
|
+
## 6. External surfaces
|
|
64
|
+
|
|
65
|
+
No API, configuration, persistence, notification, or UI surface changes. The
|
|
66
|
+
existing routes and registry entries are only documented to agents.
|
|
67
|
+
|
|
68
|
+
## 6b. Operator-surface quality
|
|
69
|
+
|
|
70
|
+
No new operator UI. The agent-facing prose leads with posture, uses plain
|
|
71
|
+
language, distinguishes 503 from health, and names when to consult each route.
|
|
72
|
+
|
|
73
|
+
## 7. Multi-machine posture
|
|
74
|
+
|
|
75
|
+
The failover route observes peer availability; the missing-login route observes
|
|
76
|
+
machine-local login/session correlation. This change does not alter either
|
|
77
|
+
scope. It tells agents to report the observed route posture rather than
|
|
78
|
+
guessing across machines.
|
|
79
|
+
|
|
80
|
+
## 8. Rollback cost
|
|
81
|
+
|
|
82
|
+
Revert and ship a patch. Previously appended awareness prose remains harmless;
|
|
83
|
+
no state or runtime repair is required.
|
|
84
|
+
|
|
85
|
+
## Conclusion
|
|
86
|
+
|
|
87
|
+
The change closes only the awareness and migration-parity gap. Runtime guards,
|
|
88
|
+
dark gates, dry-run posture, CapabilityIndex ownership, and all authority remain
|
|
89
|
+
unchanged.
|
|
90
|
+
|
|
91
|
+
## Second-pass review
|
|
92
|
+
|
|
93
|
+
**Independent read:** concur after two documentation corrections.
|
|
94
|
+
|
|
95
|
+
The reviewer verified the exact runtime posture, route predicates, action
|
|
96
|
+
boundaries, independent content sniffs, second-run byte idempotency, and the
|
|
97
|
+
decision to leave both existing CapabilityIndex entries untouched. The review
|
|
98
|
+
caught wording that called the guards “development-only”; this was narrowed to
|
|
99
|
+
“dev-gated and fleet-dark by default” because an explicit operator
|
|
100
|
+
`enabled:true` remains supported. The upgrade message was also narrowed from
|
|
101
|
+
claiming Instar can always answer to saying agents know where to check when the
|
|
102
|
+
route is available.
|
|
103
|
+
|
|
104
|
+
## Evidence pointers
|
|
105
|
+
|
|
106
|
+
- `tests/unit/PostUpdateMigrator-darkMonitoringRoutes.test.ts`
|
|
107
|
+
- `tests/unit/feature-delivery-completeness.test.ts`
|
|
108
|
+
|
|
109
|
+
## Class-Closure Declaration (display-only mirror)
|
|
110
|
+
|
|
111
|
+
No agent-authored-artifact defect or self-triggered controller is added.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Side-Effects Review — Session-pool promotion activation
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `session-pool-promotion-activation`
|
|
4
|
+
**Date:** `2026-07-23`
|
|
5
|
+
**Author:** Instar Agent (instar-codey)
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
This change activates the already-merged session-pool rollout driver behind an
|
|
10
|
+
explicit, default-off selector. Auto-climb schedules one driver tick per
|
|
11
|
+
cadence; operator mode exposes only the authenticated one-step route. Both
|
|
12
|
+
paths reuse the signed E2E result store and StageAdvancer.
|
|
13
|
+
|
|
14
|
+
## Decision-point inventory
|
|
15
|
+
|
|
16
|
+
- The config resolver accepts only `off`, `operator`, and `auto-climb`; unknown
|
|
17
|
+
values fail closed to off.
|
|
18
|
+
- The activation controller invokes the existing driver only in a selected
|
|
19
|
+
live model.
|
|
20
|
+
- The existing driver and StageAdvancer retain green-evidence, commit-binding,
|
|
21
|
+
one-step, and ceiling authority.
|
|
22
|
+
- The route returns 503 when activation is absent/off and 200 only after a live
|
|
23
|
+
model invokes the driver.
|
|
24
|
+
|
|
25
|
+
## Seven-dimension review
|
|
26
|
+
|
|
27
|
+
1. **Over-block:** operator mode remains available on demand, and the manual
|
|
28
|
+
route is also available during auto-climb.
|
|
29
|
+
2. **Under-block:** model and ceiling both default dark; invalid config cannot
|
|
30
|
+
activate promotion.
|
|
31
|
+
3. **Abstraction:** the controller owns activation only; rollout policy remains
|
|
32
|
+
in the existing driver/advancer.
|
|
33
|
+
4. **Signal vs authority:** signed E2E evidence remains the promotion gate.
|
|
34
|
+
5. **Interactions:** the pre-existing demotion timer is preserved independently.
|
|
35
|
+
6. **External surfaces:** one authenticated local HTTP mutation route is added;
|
|
36
|
+
it performs no network call and is classified cluster-shared, so standby
|
|
37
|
+
write admission cannot fork the coherence-critical rollout stage.
|
|
38
|
+
7. **Rollback:** set the selector off or revert; no stored data needs repair.
|
|
39
|
+
|
|
40
|
+
## Class-Closure Declaration
|
|
41
|
+
|
|
42
|
+
`unbounded-self-action` closes as a **guard**. Auto-climb is rate-bounded to one
|
|
43
|
+
tick per minute, each tick can write at most one adjacent stage, and the finite
|
|
44
|
+
operator ceiling makes stage mutation settle to zero. The off and operator
|
|
45
|
+
models schedule no autonomous promotion. The boundary unit test and real-driver
|
|
46
|
+
end-to-end test pin those brakes.
|
|
47
|
+
|
|
48
|
+
## Evidence
|
|
49
|
+
|
|
50
|
+
Unit coverage pins both activation boundaries and defaults. Integration coverage
|
|
51
|
+
pins dark 503 versus live 200. End-to-end coverage reaches the real server,
|
|
52
|
+
route, rollout driver, signed result store, and stage writer.
|