Skip to content

docs(bg): substrate-honest README per Riven's P2 — qualify 'foreground optional' claim#3024

Merged
AceHack merged 3 commits into
mainfrom
otto-bg-readme-substrate-honest-riven-p2-2026-05-13
May 13, 2026
Merged

docs(bg): substrate-honest README per Riven's P2 — qualify 'foreground optional' claim#3024
AceHack merged 3 commits into
mainfrom
otto-bg-readme-substrate-honest-riven-p2-2026-05-13

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 13, 2026

Summary

Resolves Riven's P2 finding (bus envelope `6c689634-...`): the prior `tools/bg/README.md` opened with "Background services that mechanize substrate-engineering disciplines so the foreground loop becomes OPTIONAL" without qualifying that the delivered surface (slice 4 bus-publish + detection signals) does NOT yet make the foreground optional.

Per Riven: the services nudge; they don't yet open PRs, claim rows, or land substrate autonomously. The "foreground optional" framing was aspirational + directionally correct, not yet operationally achieved.

What changed

  • New "Architectural claim (substrate-honest)" section explicitly names the gap
  • Per-service slice-status table with current state (1+2+3+4 for B-0440; 1+2+4 for B-0441; 1+2+4 + slice-3 STUB for B-0442)
  • "Failure-mode handling" section documents the structured-error patterns (`lastPublishError`, `fetchStatus: "gh-error"`, daemon no-result-accumulation)
  • "What's still pending" names B-0442.3 + slice 5 + slice 6 as the gap-to-aspirational-claim
  • Updated run examples (`--no-publish`, `--to`)

Composes with

🤖 Generated with Claude Code

…d optional' claim with delivered surface

Resolves Riven's P2 finding (bus envelope 6c689634-...). README now:
- Explicit 'Architectural claim (substrate-honest)' section names the
  gap between 'nudges via bus' and 'foreground optional' per Riven's
  framing-correction
- Per-service slice status table (1+2+3+4 for B-0440; 1+2+4 for B-0441;
  1+2+4 with slice-3 STUB for B-0442)
- Failure-mode handling section documents lastPublishError, gh-error
  explicit surfacing, daemon no-result-accumulation
- What's-still-pending section names B-0442.3 + slice 5 + slice 6 as
  the gap-to-aspirational-claim
- Updated run examples (--no-publish dry-run, --to agent-routing)

Composes with Riven adversarial review (envelope 6c689634) + Otto
reply (envelope e8174b34) + the slice cascade (PRs #3006-#3023).

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 13, 2026 19:33
@AceHack AceHack enabled auto-merge (squash) May 13, 2026 19:33
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 37c5aa35a0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tools/bg/README.md
Comment thread tools/bg/README.md
Comment thread tools/bg/README.md
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This docs-only PR updates tools/bg/README.md to make the background-service architecture claim more substrate-honest and clarify current service status.

Changes:

  • Reframes “foreground optional” as aspirational rather than currently achieved.
  • Adds service status, adapter, failure-mode, and run-example sections.
  • Documents remaining gaps for subscriber behavior, scheduling, and integration.
Comments suppressed due to low confidence (6)

tools/bg/README.md:31

  • The standing-by row says slice 3 is live and that PR activity is polled via gh, but standing-by-detector.ts still documents PR-activity polling as TBD and its real adapter only runs git log for the last commit. This table should not claim PR-activity detection until that code exists.
| Standing-by detector | `standing-by-detector.ts` | 1+2+3+4 live | commit-history (HEAD) + PR-activity (repo) via `gh`/`git` | `infinite-backlog-nudge` |

tools/bg/README.md:32

  • The backlog-ready row claims slice 4/bus publishing is live and lists the work-assignment topic, but backlog-ready-notifier.ts has no bus import, publish adapter, sender/recipient config, or --to/--no-publish flags. This should be described as scan-only unless the implementation is added in the same PR.
| Backlog-ready notifier | `backlog-ready-notifier.ts` | 1+2+4 live | backlog-row scan (status + deps satisfied) | `work-assignment` |

tools/bg/README.md:33

  • The missed-substrate row claims slice 4 bus publish wiring is live, but the checked-in missed-substrate-detector.ts is still slice 2 only and its comments explicitly say bus publish is not implemented. This table should not advertise the missed-substrate-cascade publish path as delivered yet.
| Missed-substrate detector | `missed-substrate-detector.ts` | 1+2+4 live (slice 3 = STUB) | merged-PR fetch via `gh`; cascade detector is **STUB** — slice 3 plugs in real branch-vs-squash compare | `missed-substrate-cascade` |

tools/bg/README.md:57

  • This adapter inventory names functions that are not present in the current services (lastPrActivityIso, publishAssignment, and publishCascade). Since the section says these are used by every service, readers will expect test seams and production code that do not exist.
- `lastCommitIso()` / `lastPrActivityIso()` / `scanBacklog()` / `fetchRecentMergedPRs()` — real-side-effect functions
- `publishNudge()` / `publishAssignment()` / `publishCascade()` — bus IO

tools/bg/README.md:64

  • The documented lastPublishError field does not exist in any tools/bg result type; the standing-by detector currently folds publish failures into the note string, and the other two services do not publish. Either document the actual result shape or add the structured field before claiming it here.
- **Bus publish failures** caught + surfaced in structured `lastPublishError` field (per Riven's P1 catch); daemon loop survives transient bus IO errors

tools/bg/README.md:84

  • This command will fail today because backlog-ready-notifier.ts only accepts --once, --poll-min, and --backlog-dir; it has no --to flag or bus publish path. The run example should use a service that actually supports recipient selection or wait until backlog-ready bus integration lands.
bun tools/bg/backlog-ready-notifier.ts --once --to vera

Comment thread tools/bg/README.md Outdated
Comment thread tools/bg/README.md Outdated
Comment thread tools/bg/README.md Outdated
Comment thread tools/bg/README.md Outdated
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 512ec3a3f1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tools/bg/README.md Outdated
…l envelope ID

Addresses Copilot + Vera review on PR #3024:
- Replace persona name (Riven) with role-ref + durable PR pointers (#3017, #3022, #3024)
- Remove ephemeral bus envelope ID 6c689634-... — references PR threads instead
- Disambiguate 'B-0442.3' as 'B-0442 slice 3' (not a per-row file)
- Remove 'subscriber agents can react autonomously' overclaim — services nudge, subscribers slice 5+ not shipped

Co-Authored-By: Claude <noreply@anthropic.com>
@AceHack AceHack merged commit 4d94100 into main May 13, 2026
25 checks passed
@AceHack AceHack deleted the otto-bg-readme-substrate-honest-riven-p2-2026-05-13 branch May 13, 2026 19:44
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.

2 participants