instar 1.2.19 → 1.2.21
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/commands/setup-wizard/codex-driver.d.ts +26 -1
- package/dist/commands/setup-wizard/codex-driver.d.ts.map +1 -1
- package/dist/commands/setup-wizard/codex-driver.js +235 -34
- package/dist/commands/setup-wizard/codex-driver.js.map +1 -1
- package/package.json +1 -1
- package/scripts/docs-coverage.mjs +407 -0
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.2.20.md +113 -0
- package/upgrades/1.2.21.md +42 -0
- package/upgrades/side-effects/docs-coverage.md +84 -0
- package/upgrades/side-effects/feat-wizard-audit-bundle.md +109 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Side-effects review — Wizard audit bundle (v1.2.20)
|
|
2
|
+
|
|
3
|
+
Per L6. Seven dimensions.
|
|
4
|
+
|
|
5
|
+
## 1. Over-block / under-block
|
|
6
|
+
|
|
7
|
+
Before: UNDER on 10 distinct items surfaced by the audit. Each
|
|
8
|
+
was a separate UX/security gap with its own failure mode (wrong
|
|
9
|
+
bot name in contacts, missing "agent comes alive" moment, no
|
|
10
|
+
admin rights, no token redaction, etc).
|
|
11
|
+
|
|
12
|
+
After: precisely targeted. Each of the 10 audit items adds a
|
|
13
|
+
scoped step to the Codex prompt or wires a state-machine no-op.
|
|
14
|
+
Every step has explicit non-fatal vs AGENTIC_FAILED semantics:
|
|
15
|
+
core identity steps (agentName as display name, admin promotion)
|
|
16
|
+
fail fast; polish steps (/setdescription, /setabouttext, pin)
|
|
17
|
+
narrate and continue. The verifier-based dispatch is unchanged.
|
|
18
|
+
|
|
19
|
+
## 2. Level-of-abstraction fit
|
|
20
|
+
|
|
21
|
+
One new exported interface (`TelegramAgenticContext`), one
|
|
22
|
+
function-signature change (`buildTelegramAgenticPrompt(projectDir,
|
|
23
|
+
ctx)`), one new exported helper (`runSendLifelineGreeting`). All
|
|
24
|
+
within the existing `src/commands/setup-wizard/codex-driver.ts`
|
|
25
|
+
module. No new modules, no new abstractions.
|
|
26
|
+
|
|
27
|
+
The 10 audit items map cleanly into existing structural slots:
|
|
28
|
+
- 8 are prompt-content additions (steps 9b/9c/12b/14a-rewrite/
|
|
29
|
+
14b/15b + the AGENT CONTEXT preamble + CRITICAL CREDENTIAL
|
|
30
|
+
HYGIENE preamble + two-call getUpdates flush in step 12).
|
|
31
|
+
- 1 is the state-machine `send-greeting` action's wiring
|
|
32
|
+
(formerly a no-op).
|
|
33
|
+
- 1 is the action dispatcher passing `answers` into
|
|
34
|
+
`runTelegramAgentic`.
|
|
35
|
+
|
|
36
|
+
## 3. Signal vs Authority compliance
|
|
37
|
+
|
|
38
|
+
- `TelegramAgenticContext` (agentName / userName / agentRole) is
|
|
39
|
+
a SIGNAL flowing from the conversational phases of the
|
|
40
|
+
state-machine to the Codex prompt. Fully derived from user
|
|
41
|
+
answers.
|
|
42
|
+
- The Bot API's `getMe`, `getChatMember`, and `createForumTopic`
|
|
43
|
+
responses are AUTHORITIES for "did this step take effect."
|
|
44
|
+
The prompt explicitly verifies state from these.
|
|
45
|
+
- `verifyTelegramConfig` reading `.instar/config.json` after
|
|
46
|
+
spawn end remains the AUTHORITY for "did the agentic path
|
|
47
|
+
succeed."
|
|
48
|
+
- Token redaction is a behavioral SIGNAL; the actual leak risk
|
|
49
|
+
AUTHORITY is whether any prose Codex generates contains the
|
|
50
|
+
pattern. Tests assert the prompt contains the rule; a future
|
|
51
|
+
audit could add a stdout-scrub pass for defense-in-depth.
|
|
52
|
+
|
|
53
|
+
## 4. Interactions with adjacent systems
|
|
54
|
+
|
|
55
|
+
- **State-machine `send-greeting` action**: previously
|
|
56
|
+
`return {};`. Now calls `runSendLifelineGreeting`. No
|
|
57
|
+
state-graph change.
|
|
58
|
+
- **`runTelegramAgentic` signature**: gained `answers` parameter.
|
|
59
|
+
Only caller is the dispatcher in `runAction` — already passes
|
|
60
|
+
`answers` to other actions.
|
|
61
|
+
- **`buildTelegramAgenticPrompt`**: signature changed (added
|
|
62
|
+
optional `ctx`). Existing call site updated. The exported test
|
|
63
|
+
ID-checked the no-context-passed default path.
|
|
64
|
+
- **`writeTelegramConfig`** (used by readline backstop):
|
|
65
|
+
unchanged.
|
|
66
|
+
- **`verifyTelegramConfig`**: unchanged.
|
|
67
|
+
- **TOPIC_STYLE constants in TelegramAdapter.ts**: still hard-
|
|
68
|
+
coded in the prompt (audit's drift item to revisit later;
|
|
69
|
+
out-of-scope for v1.2.20).
|
|
70
|
+
- **Existing test suite**: one test wording update ("intro
|
|
71
|
+
message" → "orienting message"). 11 new tests for v1.2.20
|
|
72
|
+
additions. 81 wizard-related tests total, all green.
|
|
73
|
+
|
|
74
|
+
## 5. Rollback cost
|
|
75
|
+
|
|
76
|
+
Low-medium. 10 scoped additions inside one file; one new helper;
|
|
77
|
+
one state-machine wiring. `git revert` restores v1.2.19
|
|
78
|
+
behavior. No state migration; no config schema change.
|
|
79
|
+
|
|
80
|
+
## 6. Backwards compatibility / drift surface
|
|
81
|
+
|
|
82
|
+
Fully backwards-compatible.
|
|
83
|
+
|
|
84
|
+
- Codex-runtime users on existing installs: when they re-run
|
|
85
|
+
setup, get the v1.2.20 prompt with correct display name +
|
|
86
|
+
greeting + topics. Existing config carries forward.
|
|
87
|
+
- Claude-runtime users: zero change.
|
|
88
|
+
- Readline backstop (`runTelegramSetup`): zero change.
|
|
89
|
+
- Tests: all existing tests pass; new tests cover new behavior.
|
|
90
|
+
|
|
91
|
+
Drift surface: hard-coded `TOPIC_STYLE` color codes in the
|
|
92
|
+
prompt (from v1.2.19). Canary tests verify; if a future PR
|
|
93
|
+
changes the constants in TelegramAdapter.ts, the prompt drifts.
|
|
94
|
+
Tracked in spec as "out of scope" — could be tightened to
|
|
95
|
+
import from the source of truth.
|
|
96
|
+
|
|
97
|
+
## 7. Authorization / Trust posture
|
|
98
|
+
|
|
99
|
+
No change. Codex spawn flags unchanged. Bot API access
|
|
100
|
+
unchanged. The chmod 0600 step strictly tightens the file
|
|
101
|
+
permission posture (good direction, no new privilege).
|
|
102
|
+
|
|
103
|
+
## Outcome
|
|
104
|
+
|
|
105
|
+
Ship. Closes 10 of the 14 audit-surfaced gaps in one
|
|
106
|
+
consolidated update. Each item independently small; together
|
|
107
|
+
they bring the Codex agentic path to feature parity with the
|
|
108
|
+
Claude wizard's Telegram phase on every dimension Justin
|
|
109
|
+
flagged. 81 wizard tests pass; lint + tsc clean.
|