instar 1.3.460 → 1.3.461
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/package.json
CHANGED
|
@@ -173,11 +173,19 @@ If any check fails, the commit is rejected. This is not a warning — it's a blo
|
|
|
173
173
|
|
|
174
174
|
The pre-push gate (`scripts/pre-push-gate.js`) re-verifies at push time: any release commit whose upgrade notes claim a fix or feature must have a matching artifact in `upgrades/side-effects/`.
|
|
175
175
|
|
|
176
|
+
### Phase 7 — Auto-merge on green (EVERY tier — never pause to ask)
|
|
177
|
+
|
|
178
|
+
When the PR is open and CI goes green, the agent **merges it** — it does NOT pause to ask the operator "ready to merge?" / "want me to merge?". By the time CI is green, the change has already cleared every quality gate this skill enforces: the converged + approved spec (Tier 2) or the staged ELI16 + side-effects artifact (Tier 1), the side-effects review (plus the second-pass review for high-risk changes), the full instar-dev pre-commit + pre-push gates, and the complete CI suite (unit shards + integration + e2e). **Green CI = mergeable. Full stop.** Asking the operator to merge a green PR is redundant ceremony that stalls autonomous delivery — a *Structure-over-Willpower* regression this phase exists to prevent.
|
|
179
|
+
|
|
180
|
+
Perform the merge with `node scripts/safe-merge.mjs <PR#> --squash --admin`. That wrapper re-imposes the requirement `--admin` removes: it waits for every check to finish, REFUSES if any check is red (and specifically confirms an e2e check ran and passed), and only then merges — so the branch-protection safety is preserved even on a behind / hot branch (no separate `update-branch` + full CI re-run needed). After the merge lands, narrate the ship via `POST /telegram/post-update` (the Agent Updates channel) — never a "ready to merge?" question in the working topic.
|
|
181
|
+
|
|
182
|
+
The ONLY thing that stops the merge is a genuinely-red check **on this change**: fix it and re-run. An unrelated environmental flake (a different test failing run-to-run, a tmux/server-boot timeout, a CDN 504) is re-run (`gh run rerun --failed` or a fresh push) — never escalated to the operator as a "should I merge?" question. (Source: operator directive 2026-06-09, topic 23178 — "never pause and ask me to merge; we have enough infra in place to ensure it's good to merge by the time it gets there.")
|
|
183
|
+
|
|
176
184
|
## Tiered development (tier signal → you decide → audited)
|
|
177
185
|
|
|
178
186
|
Not every change is the same size or risk, so not every change pays the same process cost. The commit gate (`scripts/instar-dev-precommit.js`) prints a **tier SIGNAL** — a suggested tier from the change's size (LOC + files) and a **risk floor** raised by any safety-invariant, irreversibility, migration/fleet-rollout, or new-capability signal (`scripts/lib/classify-tier.mjs`). The signal **informs**; it never decides. **You DECLARE the tier** in the trace via `write-trace.mjs --tier <1|2|3> --tier-reasoning "<why>"`. This is the constitution's **The Body and the Mind** made executable (`docs/STANDARDS-REGISTRY.md` → The Substrate): the gate (body) informs, the agent (mind) decides, the decision is audited.
|
|
179
187
|
|
|
180
|
-
- **Tier 1 (small / low-risk):** lighter requirement set — a staged **ELI16** + a staged **side-effects** artifact, no pre-approved converged spec. Declare it with `--tier 1 --eli16-path <path> --side-effects-path <path>` (`--spec` is optional at Tier 1). The PR is the review surface
|
|
188
|
+
- **Tier 1 (small / low-risk):** lighter requirement set — a staged **ELI16** + a staged **side-effects** artifact, no pre-approved converged spec. Declare it with `--tier 1 --eli16-path <path> --side-effects-path <path>` (`--spec` is optional at Tier 1). The PR is the review surface. (Auto-merge-on-green is **not** a Tier-1 privilege — per Phase 7 it applies to EVERY tier; Tier 1 differs only in the lighter pre-merge gate, never in the merge behavior.)
|
|
181
189
|
- **Tier 2+ (everything else):** the full chain above — converged + approved spec, ELI16, side-effects, fresh trace. A **Tier-3 project step** is just a Tier-2 spec; nothing extra is enforced at the gate. **No declared tier → Tier-2** (back-compatible).
|
|
182
190
|
|
|
183
191
|
**The decision is audited.** Every in-scope commit appends one line to `.instar/instar-dev-decisions.jsonl` (signal, declared tier, risk floor + reasons). When you declare **under** the risk-signaled floor, the gate prints a loud `belowFloor` notice and records `belowFloor:true` — it does **not** block (you hold authority), but the override is now a reviewable record. Per **Close the Loop**, those `belowFloor` rates get reviewed on a cadence so the risk-floor list grows.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-06-10T03:
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-06-10T03:19:26.946Z",
|
|
5
|
+
"instarVersion": "1.3.461",
|
|
6
6
|
"entryCount": 199,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Adds **Phase 7 — Auto-merge on green** to the `instar-dev` skill: once an instar-dev PR's CI is fully
|
|
9
|
+
green, the instar-developing agent merges it via the existing `scripts/safe-merge.mjs` wrapper (which
|
|
10
|
+
waits for every check, refuses on any red, and confirms the e2e job ran and passed) and narrates the
|
|
11
|
+
ship via the Agent Updates channel — it no longer pauses to ask the operator "ready to merge?".
|
|
12
|
+
Auto-merge-on-green now applies to **every tier**, not just Tier-1; the Tier-1 wording is corrected so
|
|
13
|
+
it no longer reads as a Tier-1-only privilege. No runtime code changes — the merge mechanism and CI
|
|
14
|
+
gates it relies on are unchanged. Structure-over-Willpower fix for an operator directive (never pause
|
|
15
|
+
to ask for merge; the gates already guarantee mergeability by the time CI is green).
|
|
16
|
+
|
|
17
|
+
## What to Tell Your User
|
|
18
|
+
|
|
19
|
+
None — internal change (no user-facing surface).
|
|
20
|
+
|
|
21
|
+
## Summary of New Capabilities
|
|
22
|
+
|
|
23
|
+
None — internal change (no user-facing surface).
|
|
24
|
+
|
|
25
|
+
## Evidence
|
|
26
|
+
|
|
27
|
+
- `skills/instar-dev/SKILL.md` — new Phase 7 + corrected Tier-1 line.
|
|
28
|
+
- Mechanism unchanged: `scripts/safe-merge.mjs` already re-imposes all-checks-green (incl. e2e) before
|
|
29
|
+
merging. Tier-1 instar-dev gate passed (ELI16 + side-effects + trace); this PR auto-merges on green
|
|
30
|
+
per the very phase it adds.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Side-Effects Review — instar-dev: auto-merge on green (every tier)
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `instar-dev-automerge-on-green`
|
|
4
|
+
**Date:** `2026-06-09`
|
|
5
|
+
**Author:** `Instar Agent (echo)`
|
|
6
|
+
**Second-pass reviewer:** `not required (Tier 1 — documentation/process change to the dev skill; the merge mechanism it mandates (safe-merge.mjs + CI) is unchanged and already gated)`
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
Adds **Phase 7 — Auto-merge on green (every tier)** to `skills/instar-dev/SKILL.md`, and corrects the
|
|
11
|
+
Tier-1 description so auto-merge no longer reads as a Tier-1-only privilege. The new phase mandates that
|
|
12
|
+
once an instar-dev PR's CI is fully green, the agent merges it via the existing
|
|
13
|
+
`scripts/safe-merge.mjs <PR> --squash --admin` wrapper and narrates the ship via `/telegram/post-update`
|
|
14
|
+
— it does NOT pause to ask the operator "ready to merge?". Documentation/process change only; no runtime
|
|
15
|
+
code, no new gate, no new merge mechanism (safe-merge.mjs already exists and re-imposes all-checks-green
|
|
16
|
+
before merging, including an explicit e2e-ran-and-passed check). Driven by the operator directive
|
|
17
|
+
(2026-06-09, topic 23178): "never pause and ask me to merge; we have enough infra in place to ensure
|
|
18
|
+
it's good to merge by the time it gets there. Lets fix this via infrastructure."
|
|
19
|
+
|
|
20
|
+
## Decision-point inventory
|
|
21
|
+
|
|
22
|
+
- No decision point added/changed. This is a process-doc change to the instar-dev skill. The actual
|
|
23
|
+
merge safety lives in `safe-merge.mjs` (waits for all checks, refuses on any red, confirms e2e) + CI
|
|
24
|
+
branch protection — both unchanged.
|
|
25
|
+
|
|
26
|
+
## 1. Over-block
|
|
27
|
+
|
|
28
|
+
No block/allow surface — over-block not applicable.
|
|
29
|
+
|
|
30
|
+
## 2. Under-block
|
|
31
|
+
|
|
32
|
+
No block/allow surface — under-block not applicable. (The only behavior changed is removing a human
|
|
33
|
+
pause AFTER green CI; the green verdict itself — the actual quality gate — is unchanged. `safe-merge.mjs`
|
|
34
|
+
still refuses to merge anything not fully green.)
|
|
35
|
+
|
|
36
|
+
## 3. Level-of-abstraction fit
|
|
37
|
+
|
|
38
|
+
Correct layer. The fix Justin asked for is behavioral: stop pausing to ask for merge. The instar-dev
|
|
39
|
+
skill is exactly where the dev-agent's process is defined, so adding Phase 7 there is the
|
|
40
|
+
right-altitude structural fix (Structure > Willpower — the behavior is now baked into the governing
|
|
41
|
+
process doc, not left to the agent "remembering" not to pause). The merge mechanism it points at
|
|
42
|
+
(`safe-merge.mjs`) already existed; this just makes invoking it the mandated final step for every tier.
|
|
43
|
+
|
|
44
|
+
## 4. Signal vs authority compliance
|
|
45
|
+
|
|
46
|
+
- [x] No — this change has no block/allow surface (documentation/process change).
|
|
47
|
+
|
|
48
|
+
## 5. Interactions
|
|
49
|
+
|
|
50
|
+
- **Shadowing / double-fire:** none. `safe-merge.mjs` is idempotent-safe (it no-ops / refuses if the PR
|
|
51
|
+
isn't green or is already merged).
|
|
52
|
+
- **Races:** none introduced.
|
|
53
|
+
- **Existing Tier-1 auto-merge wording:** the prior line implied auto-merge was a Tier-1 privilege;
|
|
54
|
+
Phase 7 generalizes it and the Tier-1 line is corrected to point at Phase 7, so the two no longer
|
|
55
|
+
conflict.
|
|
56
|
+
|
|
57
|
+
## 6. External surfaces
|
|
58
|
+
|
|
59
|
+
- **Merge behavior:** the agent now auto-merges green instar-dev PRs instead of asking. This is the
|
|
60
|
+
intended change. It is bounded by CI + `safe-merge.mjs` (refuses on any red, confirms e2e ran+passed),
|
|
61
|
+
so an unsafe PR cannot be auto-merged. Ship narration moves to the Agent Updates channel
|
|
62
|
+
(`/telegram/post-update`) rather than a "ready to merge?" question in the working topic.
|
|
63
|
+
- **Migration Parity:** this updates the **instar-dev DEV skill** — used only by the instar-developing
|
|
64
|
+
agent (Echo / a dev-assigned agent), not an end-user feature skill. Per the known skill-install gap
|
|
65
|
+
(the root `skills/` dir, including `instar-dev`, is not synced by `installBuiltinSkills()` and has no
|
|
66
|
+
PostUpdateMigrator path — a separately-tracked issue), the canonical source change here reaches the
|
|
67
|
+
repo; the installed-copy sync for dev agents rides that pre-existing gap. The authoring agent updates
|
|
68
|
+
its own installed `.claude/skills/instar-dev/SKILL.md` directly so the behavior is live immediately.
|
|
69
|
+
A general fix to dev-skill sync is out of scope (it is the standing skill-install-gap project).
|
|
70
|
+
- **No config / CLAUDE.md template / hook / route change.** No persisted state.
|
|
71
|
+
|
|
72
|
+
## 7. Rollback cost
|
|
73
|
+
|
|
74
|
+
Pure documentation revert — revert the PR; the skill returns to the Tier-1-only auto-merge wording. No
|
|
75
|
+
data migration, no runtime impact, no agent-state repair.
|
|
76
|
+
|
|
77
|
+
## Conclusion
|
|
78
|
+
|
|
79
|
+
A focused Structure-over-Willpower fix for the operator's directive: auto-merge-on-green becomes the
|
|
80
|
+
mandated final phase for every instar-dev tier, removing the redundant "ask to merge" pause while
|
|
81
|
+
leaving the actual merge-safety mechanism (`safe-merge.mjs` + CI) untouched. Tier 1 (doc/process change
|
|
82
|
+
to the dev skill); second-pass not required. It will be auto-merged on green per the very phase it adds.
|
|
83
|
+
|
|
84
|
+
## Second-pass review (if required)
|
|
85
|
+
|
|
86
|
+
**Reviewer:** not required — Tier-1 documentation/process change to the dev skill; no block/allow,
|
|
87
|
+
session-lifecycle, sentinel/guard/gate, or recovery-path code is modified. The merge mechanism
|
|
88
|
+
(`safe-merge.mjs`) and CI gates it relies on are unchanged.
|