Repository navigation
Plan amendments: bash-minimization rule + census-scoped shell slices + effect-plan band decisions - #6220
Conversation
…sus-scoped slices, effect-plan band decisions (operator, 2026-07-03) - shell_emission_model twin: bash-minimization rule (pre-runtime medium; fidelity-bounded ingestion; thin-run guardrail; supersedes ci-humming T5 converge-shell framing) + pre-runtime census receipt; slice 0 stale env-weld fixed (#5868+#6137 discharged) + Retry.on_exhausted precondition; slice 1 census-scoped to the If band (For/While have zero pre-runtime sites); slice 2 reframed converge thin-run; slice 3 live_deploy runtime-present reframe; slice 4 thin-shim scope; sidecar importer count 11->33 false-by-growth + ratchet directive - host_effect_orchestration twin: new 1b effect-plan band (layer responsibility contract + governance RED rule + fork-census decisions: Policy de-fork onto IdempotencyEvidence, decide-algebra consolidation onto upsert_decision w/ typed refusal reasons, Retry-vs-temporal DISTINCT, algebra grounding While-measure/on_exhausted, std.effect_plan rename at Phase B, long-term-not-near-term dissolve, dead vocab); Phase B invocation-vs-script + Pipeline supersession inline; Phase D models EmitArtifactThenThinRun - roadmap_authority: 6-shell-emission scoped by the rule; 2-emit-partition leftover (a) env-weld stale prose discharged; slices 1-2 re-scoped; shelf-shell-tail rescoped; 2-nbd-serve re-briefed to instantiate std.upsert_decision - regen via generated_artifact_gate main_wet (ROADMAP.md + both plan mds); includes main's pre-existing 3-line regen drift on dag-v2-defork-audit.md/fold-ergonomics.md (authorities merged without regen; idempotent output, keeps the gate green) Verified: drift gate main exit 0; plan_lens x2, roadmap_authority, roadmap_gate, generated_artifact_drift witnesses all true by execution. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Re cursor/composer-2.5 REQUEST_CHANGES (fold-ergonomics regression): valid — fixed at the carrier in Verified the finding: the pre-existing md wording was the correct post-#5552 state; the Fix per the review's second option (update the carrier and regenerate, not a hand-restore of the md): — sent from eager-crane-506 |
…6220 §1b) Operator fork-census ruling 2026-07-03: std.upsert_decision owns observe→classify→plan; std.temporal_effect must ground its own decide-algebra on that authority rather than re-deriving a parallel one. - held_lease_observed_verdict: total, 5/5 bijection from HeldLeaseObservedState onto std.upsert_decision.ObservationVerdict (LeaseAbsent→Absent, LeaseRunningExpected→Converged, LeaseRunningStale→Drifted, LeasePortForeign→Conflict, LeaseInaccessible→Inaccessible; UnknownRefused is unreachable here). - decision_for_held_lease_verdict: the Noop/Apply/Refuse arms of plan_for_held_lease_observation now derive from a single UpsertDecision<NextStepApplyPlan> classification instead of a second ad hoc match — one decide-algebra, not two. - next_step_plan_from_apply_decision lifts that UpsertDecision back onto NextStepPlan's existing wire shape, so plan_next_step_from_prior_receipt_and_lease and every consumer (srv3_os_install_reconcile*) keep their existing NextStepPlan API/behavior unchanged — zero consumer churn. - PlanAwaitApproval is untouched: it is decided before lease observation even runs and has no UpsertDecision arm to collapse onto — the honest temporal-only residue named in the ruling. Witnessed by execution: the existing temporal_effect_spine_witness_test suite (15 tests) passes unchanged behavior end-to-end through plan_next_step_from_prior_receipt_and_lease; two new tests exercise the grounding functions directly (bijection + per-arm decision), plus a new LeaseInaccessible coverage case that wasn't previously exercised. A red control (mutating the bijection to route LeaseAbsent→Conflict) flips the bijection witness to false, confirming it's discriminating, not vacuous. Full 855-module corpus (dag + src/v2) typechecks clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…-up) Operator review of #6223 (2026-07-03, via eager-crane-506): TemporalEffectPolicy is still an inert third effect-shape vocabulary (fork-census PR #6220 §1b) — zero consumers, CreateIfAbsent name-collides std.effects.CreateCause. Out of scope for this PR's decide-algebra consolidation (that's HeldLeaseObservedState/ NextStepPlan onto std.upsert_decision, not TemporalEffectPolicy), so left untouched here per DESIGN §6 ("every scaffold lands with a named dissolution trigger") rather than silently deferred. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…6223) * WIP: decide-algebra consolidation (fork-census 2026-07-03, operator-ruled; se * Ground std.temporal_effect's decide-algebra on std.upsert_decision (#6220 §1b) Operator fork-census ruling 2026-07-03: std.upsert_decision owns observe→classify→plan; std.temporal_effect must ground its own decide-algebra on that authority rather than re-deriving a parallel one. - held_lease_observed_verdict: total, 5/5 bijection from HeldLeaseObservedState onto std.upsert_decision.ObservationVerdict (LeaseAbsent→Absent, LeaseRunningExpected→Converged, LeaseRunningStale→Drifted, LeasePortForeign→Conflict, LeaseInaccessible→Inaccessible; UnknownRefused is unreachable here). - decision_for_held_lease_verdict: the Noop/Apply/Refuse arms of plan_for_held_lease_observation now derive from a single UpsertDecision<NextStepApplyPlan> classification instead of a second ad hoc match — one decide-algebra, not two. - next_step_plan_from_apply_decision lifts that UpsertDecision back onto NextStepPlan's existing wire shape, so plan_next_step_from_prior_receipt_and_lease and every consumer (srv3_os_install_reconcile*) keep their existing NextStepPlan API/behavior unchanged — zero consumer churn. - PlanAwaitApproval is untouched: it is decided before lease observation even runs and has no UpsertDecision arm to collapse onto — the honest temporal-only residue named in the ruling. Witnessed by execution: the existing temporal_effect_spine_witness_test suite (15 tests) passes unchanged behavior end-to-end through plan_next_step_from_prior_receipt_and_lease; two new tests exercise the grounding functions directly (bijection + per-arm decision), plus a new LeaseInaccessible coverage case that wasn't previously exercised. A red control (mutating the bijection to route LeaseAbsent→Conflict) flips the bijection witness to false, confirming it's discriminating, not vacuous. Full 855-module corpus (dag + src/v2) typechecks clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * Name the TemporalEffectPolicy dissolution trigger (nonblocking follow-up) Operator review of #6223 (2026-07-03, via eager-crane-506): TemporalEffectPolicy is still an inert third effect-shape vocabulary (fork-census PR #6220 §1b) — zero consumers, CreateIfAbsent name-collides std.effects.CreateCause. Out of scope for this PR's decide-algebra consolidation (that's HeldLeaseObservedState/ NextStepPlan onto std.upsert_decision, not TemporalEffectPolicy), so left untouched here per DESIGN §6 ("every scaffold lands with a named dissolution trigger") rather than silently deferred. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Brian Searls <briansearls1@gmail.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Summary
Encodes the operator's 2026-07-03 rulings into the plan authorities (docs are generated projections — edits are in the
.dagtwins, mds regenerated viagenerated_artifact_gate main_wet):Retry.on_exhaustedwire-or-narrow precondition and drops the stale env-weld clause (Grow bash AST: EnvUnset node + multi-binding env nesting (dissolve orch_emit_run_env_welded) #5868+2-emit-partition (a): dissolve orch_run env weld into structured EnvPrefixed/EnvUnset AST #6137 discharged it).IdempotencyEvidence(derived Drive), decide-algebra consolidation ontostd.upsert_decision(typed refusal reasons), Retry-vs-temporal DISTINCT, While carries a measure (derivedDescentEvidencefromdag/std/termination.dag),std.effect_planrename at Phase B, long-term (not near-term) dissolve onto substrate fragments, dead-vocab deletions, no newstd.ProcessInvocation(reuse/extend extdeps service-op argv authority).std.upsert_decision.Test plan
generated_artifact_gate --function main(drift dry-check): exit 0plan_lens_witness_test(dissolution-trigger + titled, both): trueroadmap_authority_test::roadmap_authority_witnesses: trueroadmap_gate_test::roadmap_gate_witnesses: truegenerated_artifact_drift_test::generated_artifact_drift_witnesses: true🤖 Generated with Claude Code