Skip to content

feat: add change proposal for openspec init command - #2

Merged
TabishB merged 4 commits into
mainfrom
add-project-init-change
Aug 6, 2025
Merged

feat: add change proposal for openspec init command#2
TabishB merged 4 commits into
mainfrom
add-project-init-change

Conversation

@TabishB

@TabishB TabishB commented Aug 5, 2025

Copy link
Copy Markdown
Contributor

Clarify that patches are required for ALL spec changes, including brand new capabilities

@TabishB TabishB changed the title docs: clarify patch requirements for new capabilities feat: add change proposal for openspec init command Aug 5, 2025
@TabishB
TabishB merged commit 79c4fa3 into main Aug 6, 2025
SWolfeCAI referenced this pull request in AnchorSpec/AnchorSpec Mar 27, 2026
Remove telemetry and rebrand to AnchorSpec
StevenWolfe referenced this pull request in AnchorSpec/AnchorSpec Mar 27, 2026
Remove telemetry and rebrand to AnchorSpec
DumoeDss referenced this pull request in DumoeDss/rasen Jul 9, 2026
Moves the completed prompt-audit-fixes-verify-ship change (child #2
of the prompt-audit-fixes portfolio) to
rasen/changes/archive/2026-07-09-prompt-audit-fixes-verify-ship/ and
syncs its two delta specs as new capabilities in rasen/specs/:

- verify-ship-evidence: the verify -> ship evidence chain —
  verify-change persists verification-report.md; both verify variants
  emit a shared canonical verdict + machine-checkable status line and
  record fingerprinted test evidence when they run tests; ship
  consumes these as verification and test-skip evidence; chrome-use
  added to the parity golden master.
- expert-source-reading-scope: the "Never read source code" absolutes
  in QA_METHODOLOGY and DESIGN_METHODOLOGY scoped to the
  exploration/testing (audit) phase, with explicit carve-outs for
  diff-aware triage and the standalone fix loop.

Staged the two new spec subdirectories individually (not the bare
rasen/specs/ parent) per the established precise-pathspec discipline;
confirmed no other content was staged under rasen/specs/ at commit
time (git status --porcelain -- rasen/specs/ showed only these two
untracked dirs before staging).

All 19/19 tasks complete; all 4 artifacts done; both synced specs
validate clean (`rasen spec validate`).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
DumoeDss referenced this pull request in DumoeDss/rasen Jul 9, 2026
…evival, two-threshold rule, counter disambiguation

Closes a family of ambiguities in the LEAD orchestration playbook
(_orchestration.ts, auto.ts, goal-command.ts) around worker death,
threshold counters, and gate semantics — cases where the same-sounding
number or event was governed by two different rules depending on
context, with no explicit disambiguation.

- OR-1/SH-4 threshold families: relay caps, stall limits, and round
  caps disambiguated — each named explicitly and scoped to the
  lifecycle event it governs.
- H.4/OR-6 worker-death taxonomy + infra revival: two-branch
  taxonomy — (a) genuine work-exhaustion (HANDOFF) vs (b)
  infrastructure death (process/connection failure). An infra-death
  SendMessage-triggered revival is NOT charged against the relay/
  stall caps that govern (a). The (a)-vs-(b) boundary has a
  documented residual ambiguity, accepted in design Risks as
  cheap/self-correcting (a genuinely-full worker HANDOFFs on the wake
  turn and gets reclassified).
- OR-9/OR-13/OR-15 counter disambiguation: a counter table maps every
  counter token (maxRelays, stallLimit, maxRounds, loop.maxRounds,
  strategyAttempts, loopStallLimit, sessionHandoff.n) to its exact
  governing rule — grep-audited, no orphans.
- Tier-C degradations (OR-4, OR-14): LEAD never self-certifies a
  Tier-C implementer's work without an independent check.
  verifyPolicy standard/light modes defined in auto.ts section 5
  (verify stages only run under the auto command).
- OR-8/OR-11/SH-5/SH-7: SH-5 scopes the LEAD's "flag it" duty — an
  out-of-scope issue the LEAD notices routes to DONE durable-findings,
  not autonomous investigate/fix/ask-user; explicitly disclaims
  reopening child #1's dispatched-mode report-only contract. SH-7
  defines a narrow inline-fix exception.
- Gate directive precedence (D6, LEAD ruling): Step G resolves how a
  decomposed portfolio's child-pipeline gates behave with no explicit
  parent gate directive — default is auto-continue (record the
  checkpoint, do not pause per child), since irreversible actions
  already collapse to the single portfolio-level delivery decision.
  Reversible product decision, surfaced to the user in the ship log
  rather than silently baked in. Round 2 tightened Step G's prose
  after the reviewer flagged that the wording could be misread as
  the opposite default — behavior unchanged, wording clarified.

_orchestration.ts/auto.ts/goal-command.ts are NOT in the parity
golden-master registry (pre-existing gap). Verified instead via
node build.js + node dist/cli/index.js update succeeding, plus 5
independent grep spot-checks against the regenerated rasen-auto/
rasen-review-cycle/commands-auto output confirming the new prose is
present verbatim, performed independently by implementer and
reviewer. Registry expansion relayed to child #5
(prompt-audit-fixes-lifecycle), along with a newly-discovered,
distinct gap: rasen-goal/goal-plan templates are absent from the
generation registry entirely, not just the parity registry.

Installed skills regenerated via node build.js. Parity hashes
resynced for the 15 PREAMBLE-importing expert templates
(careful/freeze/guard/unfreeze correctly show zero movement — they
do not import PREAMBLE; a task-note miscount of "19" was corrected
to 15 in fix round 1).

Reviewed CLEAN APPROVED (review-cycle, 2 rounds, non-author
confirmed). Round 1: 1 Minor fixed (auto.ts's gate guardrail lacked
a back-reference to Step G's precedence rule — added a scoped
cross-reference), 1 Trivial fixed (tasks.md miscounted PREAMBLE
embedders as 19, corrected to 15). Round 2: 1 new Minor found and
fixed (Step G sentence 1's "does NOT suppress ... by default"
wording could be misread as contradicting the D6 auto-continue
default — tightened without changing behavior). Seam integrity
confirmed: child #1's Step B report-contract sentence and child #2's
verify/ship evidence chain both verified untouched by this diff.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
DumoeDss referenced this pull request in DumoeDss/rasen Jul 9, 2026
…er, archive hard gates, delivery preconditions, F.1 generation-match

Wires the propose/office-hours/archive/apply/continue workflow
commands into the evidence chain and gates established by children
#1-#3, and closes a resume-ladder generation-match gap in
orchestration.

- WF-2: propose.ts checks both office-hours-design.md (change dir)
  and the sibling office-hours directory (by slug) before drafting,
  incorporating found validation and naming office-hours as the
  source; all paths resolved from status JSON. office-hours.ts's
  producer-side notes (dual-write, auto-detect, downstream
  integration) made accurate to match, with a verbatim slug-derivation
  example matching propose's so the two-sided derivation converges
  (fixed in round 1 after the reviewer caught divergent examples).
- WF-6: office-hours.ts (workflow command) restructured so the
  /office-hours expert is the single facilitation authority; the
  inline six-questions/builder text becomes an explicit fallback
  pre-brief, not a second pass; doc production consolidated to one
  step; precedence stated.
- WF-4: archive-change.ts gates on verification-report.md's
  VERIFY VERDICT (child #2's evidence file) -- refuses by default on
  BLOCKED, requires an explicit blocker-naming override, refuses
  outright non-interactively; CLEAN passes with no gate; absence gets
  a soft note only. Incomplete-tasks check elevated from soft warning
  to the same hard-gate semantics. The "don't block on warnings"
  guardrail re-scoped (enumerate-and-gate) to soft warnings only,
  explicitly excluding both new hard gates.
- WF-5/WF-11: archive-change.ts adds a delivery-precondition check
  reading ship-log.md (soft warning if absent, with a spec-only
  escape) and a portfolio-awareness note when the ship log's Status
  line reads "delivery deferred to portfolio level" (ship.ts's exact
  local-mode marker).
- WF-5 (apply) / WF-10 (continue): completion nudges in
  apply-change.ts and continue-change.ts steer through
  /rasen:verify -> /rasen:ship, naming archive only as the
  post-delivery step rather than an immediate co-equal option.
- F.1 (LEAD-added, _orchestration.ts scope exception -- one clause,
  nothing else touched, children #1/#3's edits survive byte-for-byte):
  Step F.1's resume ladder now states a handoff document counts only
  if it's the LATEST holder's own distillation; an un-exhausted latest
  holder with no document resumes from its TRANSCRIPT instead, which
  beats any earlier generation's document. Adds the same-session-
  restart nuance: SendMessage-by-NAME may still resolve the latest
  holder post-restart -- try that wake first, fall back to the ladder
  otherwise. This exact behavior was live-validated during this
  change's own implementation (see ship-log's Infra-Revival section).
- Parity registry expansion: +19 function-hash entries + 11
  content-hash entries for the previously-unpinned workflow/command
  family (office-hours-command, verify-enhanced, ship, retro, auto,
  review-cycle, handoff, goal-plan/iterate/report/command) -- this is
  what makes the F.1 edit verifiable, since it hash-locks
  rasen-auto/rasen-goal/rasen-review-cycle for the first time.

Reviewed CLEAN (review-cycle round 1, non-author confirmed): 1 Minor
fixed (propose/office-hours slug-example divergence), 1 Minor
accepted-known (F.1's hash movement can't be diff-verified against a
pre-edit baseline since the templates were pinned in the same regen
run as the edit -- D8, inherent to prior parity debt, not a defect),
2 Trivial accepted-known and skipped by design (office-hours wording
nuance deferred to child #6's WF-3; F.1 clause density -- tightening
declined to avoid re-churning newly-locked hashes for zero functional
gain). Seam integrity confirmed byte-compatible both directions
against the actual producer strings, called out by the reviewer as
"the opposite of the WF-1 disease" this portfolio exists to close.

Infra-revival event during fix round 1: implementer's connection
closed mid-edit; LEAD applied child #3's H.4(b) protocol
(SendMessage-revive the same agent, zero rework since edits had
already landed) rather than cold-reconstructing -- not charged to
relay/stall budget, and incidentally a live validation of this
change's own F.1 same-session-restart nuance before its hash-lock
even shipped.

Known-open item relayed to the portfolio-end report (not this
change's scope): goal templates are registered in the generation
registry, but `update` still doesn't emit rasen-goal* skill
directories -- suspected deploy-path filter, not root-caused.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
DumoeDss referenced this pull request in DumoeDss/rasen Jul 9, 2026
Moves the completed prompt-audit-fixes-lifecycle change (child #5 of
the prompt-audit-fixes portfolio) to
rasen/changes/archive/2026-07-09-prompt-audit-fixes-lifecycle/ and
syncs its six delta specs into rasen/specs/:

NEW capabilities:
- lifecycle-stage-sequencing: apply/continue completion messages
  steer through the intended stage sequence (verify -> ship ->
  archive) instead of offering archive as an immediate co-equal step.
- workflow-template-parity: the workflow/orchestration skill and
  command templates outside the expert set are now pinned by the
  parity golden master, mirroring the expert templates and chrome-use.

MODIFIED capabilities:
- propose-workflow (ADDED-only): consumes office-hours validation
  output as input context, checking both the change dir and the
  sibling office-hours directory by slug.
- opsx-office-hours-command (ADDED-only): facilitation delegates to
  the /office-hours expert as the single authority; inline
  six-questions/builder text becomes a fallback pre-brief only.
- orchestration-worker-lifecycle (ADDED-only): F.1 resume ladder
  prefers the latest holder's own distillation over any earlier
  generation's document; an un-exhausted latest holder with no
  document resumes from its transcript instead.
- opsx-archive-skill (deliberate MODIFY, not ADDED-only): the Task
  Completion Check requirement is REPLACED wholesale -- incomplete
  tasks upgraded from a soft warning to a hard gate (refuse by
  default, explicit override required, refuse outright
  non-interactively). Two new ADDED requirements inserted alongside
  it: Verification Verdict Gate (hard-gates on VERIFY VERDICT:
  BLOCKED, consuming child #2's evidence file) and Delivery
  Precondition Check (soft warning on missing/portfolio-deferred
  ship-log.md).

All six specs validated clean (`rasen spec validate`). Staged the six
spec subdirectories individually (not the bare rasen/specs/ parent)
per the established precise-pathspec discipline; confirmed
git status --porcelain -- rasen/specs/ showed exactly these six
entries (4 modified, 2 untracked new) before staging, nothing from
another session.

All 20/20 tasks complete; all 4 artifacts done.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant