instar 1.0.9 → 1.0.11
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/core/IdentityRenderer.js +2 -2
- package/dist/core/IdentityRenderer.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +16 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +75 -9
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/types.d.ts +13 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +17 -17
- package/upgrades/1.0.10.md +55 -0
- package/upgrades/1.0.11.md +61 -0
- package/upgrades/side-effects/feat-portability-framework-gate.md +62 -0
- package/upgrades/side-effects/feat-portability-neutral-relay-path.md +61 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Side-effects review — Framework-neutral relay path (Gap 4)
|
|
2
|
+
|
|
3
|
+
Per L6. Seven dimensions.
|
|
4
|
+
|
|
5
|
+
## 1. Over-block / under-block
|
|
6
|
+
|
|
7
|
+
Before: UNDER — Codex/Gemini agents instructed to run a nonexistent script.
|
|
8
|
+
After: no over-block. The `.claude/scripts/` copy is retained, so Claude Code
|
|
9
|
+
behavior is byte-identical. The neutral copy is additive.
|
|
10
|
+
|
|
11
|
+
## 2. Level-of-abstraction fit
|
|
12
|
+
|
|
13
|
+
Script installation stays in `migrateScripts` (where all reply-script
|
|
14
|
+
installation lives). The identity instruction stays in IdentityRenderer. No
|
|
15
|
+
logic leaked elsewhere.
|
|
16
|
+
|
|
17
|
+
## 3. Signal vs Authority compliance
|
|
18
|
+
|
|
19
|
+
The generated script content is the single source; both locations receive the
|
|
20
|
+
same bytes. The SHA-migrate guard remains the authority on whether a
|
|
21
|
+
user-customized copy is overwritten — unchanged, now applied to both copies.
|
|
22
|
+
|
|
23
|
+
## 4. Interactions with adjacent systems
|
|
24
|
+
|
|
25
|
+
- **SessionStart hook (3309-3314)** — already preferred the neutral path; now
|
|
26
|
+
it resolves because the file exists. No hook change needed.
|
|
27
|
+
- **Claude SessionStart hook template (1822)** — intentionally unchanged
|
|
28
|
+
(Claude-only path; Codex has no SessionStart hook — that's why the appendix
|
|
29
|
+
exists).
|
|
30
|
+
- **buildTelegramRelayBlock (bootstrap helper)** — separate function, not
|
|
31
|
+
touched; its tests still pass.
|
|
32
|
+
- **TemplatesDriftVerifier / verify-deployed-templates** — checks
|
|
33
|
+
`.claude/scripts/telegram-reply.sh`; that file still exists with the same
|
|
34
|
+
content, so drift verification is unaffected (regression-tested).
|
|
35
|
+
|
|
36
|
+
## 5. Rollback cost
|
|
37
|
+
|
|
38
|
+
Low. Two source edits + one new test + one updated assertion. `git revert`
|
|
39
|
+
restores prior behavior. The neutral copy left on disk after a revert is an
|
|
40
|
+
inert extra file (the appendix would point back at `.claude/scripts/`),
|
|
41
|
+
harmless.
|
|
42
|
+
|
|
43
|
+
## 6. Backwards compatibility / drift surface
|
|
44
|
+
|
|
45
|
+
Fully backward-compatible. Claude Code: unchanged. Existing agents: get the
|
|
46
|
+
neutral mirror on next update via Migration Parity, idempotent. Drift surface:
|
|
47
|
+
the two copies are generated from the same content in the same pass — they
|
|
48
|
+
cannot diverge within a run; the SHA-migrate guard handles user customization
|
|
49
|
+
identically for both.
|
|
50
|
+
|
|
51
|
+
## 7. Authorization / Trust posture
|
|
52
|
+
|
|
53
|
+
No new authority. Same write surface the migrator already owns
|
|
54
|
+
(`.claude/scripts/` and `.instar/scripts/` are both under projectDir/stateDir
|
|
55
|
+
the migrator already writes to). Best-effort: a neutral-copy write failure is
|
|
56
|
+
captured as a migration error, never throws out of the migration run.
|
|
57
|
+
|
|
58
|
+
## Outcome
|
|
59
|
+
|
|
60
|
+
Ship. Surgical, additive, Migration-Parity-compliant, regression-swept,
|
|
61
|
+
trivial rollback. Second of the v1.0.9–v1.0.14 hardening series.
|