Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 1 addition & 27 deletions .agents/TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Open owner decisions are at the end of this file. Each one is listed once.
1. Resolve the general routing and source-authority work from the
[routing audit](rounds/2026-09-17-routing-audit.md) (Routing and Eval instruments below). Keep
the current scorer until a general repair passes.
2. Follow the upstream Docs and protocol pull requests for `sd-027`, `sd-034`, and `sd-037`.
2. Follow the upstream Docs pull request for `sd-027` and `sd-034`.

Binding spend rules: no paid method runs without its own written authorization, and a diagnostic
budget never transfers to headline collection. Use [the evaluation map](../eval/EVALS.md) and the
Expand All @@ -39,32 +39,6 @@ status comment while the maintainers are working on the decision. History:
Done when: each finding records the resulting live state, and any fixed finding completes the
resolver gates.

### Re-check `sd-037` after stellar-protocol PR #2021 receives a maintainer decision

The stale bot closed issue https://github.com/stellar/stellar-protocol/issues/1981 as
`NOT_PLANNED`; no maintainer made a scope decision, and the owner decided not to reopen it. The
author-owned fix is https://github.com/stellar/stellar-protocol/pull/2021. It adds the SLP list to
`limits/README.md` and an SLP mention to the root README, and it offers to drop the table if the
maintainers do not want to maintain it. Commit `65d35aebf3ae3d5b9094b36959c27d9b8540e2a0` answers
the Copilot review; all four checks passed on 2026-09-29. At 2026-09-29T21:44:44Z, `leighmcculloch`
(`MEMBER`) approved the PR
(https://github.com/stellar/stellar-protocol/pull/2021#pullrequestreview-5358887566) and enabled squash
auto-merge. The head is now `53557ae2`, and the approval is not dismissed. GitHub reports
`mergeable_state: blocked`. The blocker is one unresolved, outdated Copilot review thread
(https://github.com/stellar/stellar-protocol/pull/2021#discussion_r4064649027): the branch ruleset
sets `required_review_thread_resolution`. Our reply in that thread states that commit `65d35aeb`
fixed it. The default-branch READMEs still lack the SLP index, and the finding stays
`reported-upstream`. Do not post a reminder because of the approval.

Next action: resolve that thread. This is author-owned work. Auto-merge then merges the PR. At the
next improvements round, read the PR state and any new review, and respond to requested changes.
The stale workflow marks a quiet PR after 30 days and closes it 30 days later. Do not post a
keep-alive comment. If the PR closes unmerged, record the reason and keep the finding. If it merges,
re-run the two README source checks before changing the finding.

Done when: the finding records the merged or declined result, and a fixed finding completes the
resolver gates.

### Monitor the Horizon protocol-ceiling note behind the rejected recovery experiment

The rejected `repository-tooling-recovery-v2` implementation does not ship
Expand Down
21 changes: 19 additions & 2 deletions .agents/rounds/2026-10-06-truth-maintenance.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ branches are removed at closeout (see "Final checklist").
and the two new read operations.
2. **Exclude `reviewSubmission` when 1.9.71 lands** unless the general repair removes its capture.
3. **Ship the stellar-dev pin separately.** It is routing-neutral by a full row diff.
4. **`sd-037` thread resolution waits for the owner.** Resolving the outdated Copilot thread on
4. **`sd-037` thread resolution waited for the owner** (approved later the same day; see "sd-037 retired"). Resolving the outdated Copilot thread on
stellar-protocol#2021 triggers the armed squash auto-merge into an SDF repository; that is an
outward action, so the coordinator asked instead of acting.
5. **No #167 comment.** Nothing material changed upstream.
Expand All @@ -193,7 +193,24 @@ branches are removed at closeout (see "Final checklist").
- [x] PR #229 merged (`528fa335`) and deployed (version `d40a36df-b402-48c7-bfd6-a07c04ba6cea`);
production checks passed.
- [x] Issue #223 comment records the hold; #167 unchanged and open.
- [ ] Owner decision: resolve the outdated Copilot thread on stellar-protocol#2021 (`sd-037`).
- [x] Owner decision: the owner approved resolving the outdated Copilot thread on stellar-protocol#2021 (`sd-037`); see "sd-037 retired".
- [x] PR #230 merged (`f4e7539d`).
- [ ] This PR (#231) merges and deploys the skill pin; the deploy version is recorded on #223.
- [ ] Round worktrees, local branches, and spawned panes cleaned up after merge.

## sd-037 retired

The owner approved the merge. The coordinator resolved the outdated Copilot thread
(`PRRT_kwDOAVw6BM6kc1Yk`), and the armed squash auto-merge merged stellar/stellar-protocol PR #2021
at 2026-10-06T15:32:25Z as `f93e69105c995d0a5f85a81da8fd984eaf3d6280`. On `master` at that commit,
`README.md` names SLPs and links the list, and `limits/README.md` lists SLP-0001 through SLP-0006.

A distinct reviewer (Codex workhorse `gpt-6.1-sol`, high, pane `w3W:p1Y`) re-ran the trigger,
checked the full `limits/` tree for residuals, and listed every reference (`sd037-review-sol.md`):
verdict retire, no successor. Resolution comments were posted and read back on
[PR #2021](https://github.com/stellar/stellar-protocol/pull/2021#issuecomment-6019811334) and
[issue #1981](https://github.com/stellar/stellar-protocol/issues/1981#issuecomment-6019811675).
`improvements:resolve` appended the `improvements/resolved.json` receipt, removed the intake override
and the active file, and regenerated the index. The queue item and two README examples were
removed. Dated round records keep their historical references.

215 changes: 215 additions & 0 deletions .agents/rounds/2026-10-06-truth-maintenance/sd037-review-sol.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
# sd-037 distinct reviewer check

Review time: 2026-10-06T15:35:19Z.
Reviewer: the separate Codex session assigned by `tmp/2026-10-06-maintenance/brief-sd037.md`.

## Verdict

**retire**. The original source defect no longer reproduces. No successor is needed for the checked source behavior.

This verdict approves the source finding's retirement. The coordinator must complete the cleanup and upstream comment requirements below.
The active record still has `status: reported-upstream`. This review does not claim that the retirement already occurred.

## Direct upstream verification

I read the finding, [PR #2021](https://github.com/stellar/stellar-protocol/pull/2021), and [issue #1981](https://github.com/stellar/stellar-protocol/issues/1981) directly.
I used fresh GitHub API responses through `gh api`.
The browser fetch failed. The direct API reads succeeded.

| Check | Fresh result |
| --- | --- |
| PR title | Add a list of SLPs and mention SLPs in the root README |
| PR state | `closed`, `merged: true` |
| Merge time | `2026-10-06T15:32:25Z` |
| Merge commit | `f93e69105c995d0a5f85a81da8fd984eaf3d6280` |
| Base branch | `master` |
| Current `master` | `f93e69105c995d0a5f85a81da8fd984eaf3d6280` |
| Required review | `APPROVED`; `leighmcculloch` approved at `2026-09-29T21:44:44Z` |
| Review thread | The only thread is outdated and resolved. |
| Checks | `mddiffcheck`, `lineendings`, and both Socket checks report `SUCCESS`. |
| Issue state | `closed`, `state_reason: not_planned`, closed at `2026-09-14T18:14:06Z` |
| Issue comment | Only `github-actions[bot]` posted the stale notice on `2026-08-14T18:19:18Z`. |

The merge claim matches the API exactly.
The issue closure came from the stale process. It does not prove a maintainer rejected the correction.

The checked surface is the repository's default-branch documentation.
Fresh reads show the fix on current `master`, which equals the merge commit.
This proves publication on the affected source surface. It does not prove downstream Algolia ingestion.

Reproduction commands:

```sh
gh api repos/stellar/stellar-protocol/pulls/2021
gh api repos/stellar/stellar-protocol/issues/1981
gh api repos/stellar/stellar-protocol/issues/2021/comments --paginate
gh api repos/stellar/stellar-protocol/issues/1981/comments --paginate
gh api repos/stellar/stellar-protocol/pulls/2021/reviews
gh api repos/stellar/stellar-protocol/commits/master
gh api repos/stellar/stellar-protocol/contents/README.md \
-f ref=f93e69105c995d0a5f85a81da8fd984eaf3d6280 --method GET
gh api repos/stellar/stellar-protocol/contents/limits/README.md \
-f ref=f93e69105c995d0a5f85a81da8fd984eaf3d6280 --method GET
gh api repos/stellar/stellar-protocol/git/trees/f93e69105c995d0a5f85a81da8fd984eaf3d6280 \
-f recursive=1 --method GET
```

I decoded the fresh `content` fields with `base64.b64decode`.
I numbered the decoded lines with `enumerate(body.decode().splitlines(), 1)`.
I did not use the author's stored transcript as proof.

## Original trigger and exact source locations

| Source | Blob SHA | SHA-256 |
| --- | --- | --- |
| `README.md` | `4d80b14cf0d82e4a76c4b3df7b63383a8f29dee8` | `afef1ecb6bba3d6a6e37b134adb0615aa2f72c3088230513280ae70fff69ce99` |
| `limits/README.md` | `468007abab8e7c3f7c347874977405b7c2de6732` | `e17216c3b32d1ab7c5e2dd0a290a52dbbb243600458da1a32628c34058c05a5f` |

These locations use the merge commit, which was also current `master` during this review.

| Exact lines | Observed result |
| --- | --- |
| [Root L10](https://github.com/stellar/stellar-protocol/blob/f93e69105c995d0a5f85a81da8fd984eaf3d6280/README.md#L10) | The SLP badge links to `./limits/README.md`. |
| [Root L24-L26](https://github.com/stellar/stellar-protocol/blob/f93e69105c995d0a5f85a81da8fd984eaf3d6280/README.md#L24-L26) | The overview names SLPs, describes protocol limits and network configuration, and links the process and list. |
| [Root L36](https://github.com/stellar/stellar-protocol/blob/f93e69105c995d0a5f85a81da8fd984eaf3d6280/README.md#L36) | The directory description names `limits`, `slp-xxxx.md`, and `slp-0004.md`. |
| [Root L56-L58](https://github.com/stellar/stellar-protocol/blob/f93e69105c995d0a5f85a81da8fd984eaf3d6280/README.md#L56-L58) | The example tree includes `limits`, its README, and `slp-0001.md`. |
| [Limits L7-L10](https://github.com/stellar/stellar-protocol/blob/f93e69105c995d0a5f85a81da8fd984eaf3d6280/limits/README.md#L7-L10) | The proposal list has number, title, author, and status columns. |
| [Limits L11-L16](https://github.com/stellar/stellar-protocol/blob/f93e69105c995d0a5f85a81da8fd984eaf3d6280/limits/README.md#L11-L16) | Six rows link all six proposal files. |
| [Limits L14](https://github.com/stellar/stellar-protocol/blob/f93e69105c995d0a5f85a81da8fd984eaf3d6280/limits/README.md#L14) | SLP-0004 links to `slp-0004.md` and has status `Final`. |
| [Limits L16](https://github.com/stellar/stellar-protocol/blob/f93e69105c995d0a5f85a81da8fd984eaf3d6280/limits/README.md#L16) | SLP-0006 links to `slp-0006.md` and has status `Draft`. |

The opening root sentence still names CAPs and SEPs at L13-L14.
The added SLP paragraph supplies the missing family recognition and direct link.
That opening sentence does not preserve the original omission when the overview is read in full.

## Adjacent behavior

The fresh recursive tree response has `truncated: false`.
I compared every `limits/slp-*.md` file with every proposal link in the new index.

| File | Index line | Preamble lines | Title and status match |
| --- | --- | --- | --- |
| `limits/slp-0001.md` | 11 | Title 5; Authors 6; Status 8 | yes; `Final` |
| `limits/slp-0002.md` | 12 | Title 5; Authors 6; Status 8 | yes; `Final` |
| `limits/slp-0003.md` | 13 | Title 5; Authors 6; Status 8 | yes; `Final` |
| `limits/slp-0004.md` | 14 | Title 5; Authors 6; Status 8 | yes; `Final` |
| `limits/slp-0005.md` | 15 | Title 5; Authors 6; Status 8 | yes; `Final` |
| `limits/slp-0006.md` | 16 | Title 5; Authors 6; Status 8 | yes; `Draft` |

All six links resolve to files in the pinned tree. There are no missing rows, extra rows, or duplicate rows.
I fetched all six proposal files independently. All index titles and statuses match their preambles after whitespace trimming.
The author names match. The table omits handles and organization details from the preambles.

The first metadata script expected `Author:`. The source uses `Authors:`, so that script stopped after SLP-0001.
I corrected the script and fetched all six files again. The completed title and status checks passed.

The root tree lists only SLP-0001. It does not list every proposal file.
Root L38 identifies this tree as an example. The same tree lists only three CAPs and three SEPs.
The complete SLP index supplies all six links. The abbreviated example is not a residual source defect.
The root definition also covers SLP-0006's network configuration proposal.

I did not recheck Algolia ranking or crawler ingestion.
The brief identifies the original retirement trigger as the two source READMEs.
The finding treats Algolia results as impact evidence rather than the source defect.
A later verified search defect needs its own finding. This review does not assert that search results changed.

## Persistent references

I ran the requested search and excluded `node_modules`:

```sh
rg -n "sd-037" . --glob "!node_modules/**"
```

That command finds five references in four visible files.
I also searched hidden directories because the default command skips `.agents/`:

```sh
rg -n "sd-037" . --glob "!node_modules/**" --hidden --glob "!.git/**"
git grep -n 'sd-037' -- ':!node_modules'
```

The tracked-file search finds 33 references in 13 files.
The following table lists every tracked location and the required treatment.

| File | Lines | Required treatment |
| --- | --- | --- |
| `.agents/TODO.md` | 18, 42 | Remove sd-037 from priority 2. Remove the completed follow-up section after retirement. |
| `improvements/intake.json` | 153 | Remove the per-finding override through the resolver. |
| `improvements/INDEX.md` | 50 | Regenerate through the resolver. Do not edit the generated row directly. |
| `improvements/stellar-docs/sd-037-limits-slps-discoverability.md` | 2 | Record this live result, then delete through the resolver after all gates pass. |
| `improvements/README.md` | 19, 177 | Replace these active examples or identify sd-037 as a resolved precedent. Correct the protocol owner example. |
| `.agents/rounds/2026-10-06-truth-maintenance.md` | 134, 177, 196 | Append the verified merge and retirement outcome. Reconcile the current thread-resolution action and checkbox. |
| `.agents/rounds/2026-10-06-truth-maintenance/improvements-lane.md` | 24, 94, 137, 143 | Append the merge result and retirement disposition. Reconcile the current author-action recommendation. |
| `.agents/rounds/2026-09-21-improvements-followup.md` | 36, 102, 150, 154, 169, 193, 199 | Preserve the dated evidence. Link the resolved receipt from a closeout note. |
| `.agents/rounds/2026-09-08-maintenance-execution.md` | 136 | Preserve the dated state. The resolved receipt supplies the later outcome. |
| `.agents/rounds/2026-09-30-raven-next.md` | 58, 164, 166, 189, 234 | Preserve the dated state. The resolved receipt supplies the later outcome. |
| `.agents/rounds/2026-09-29-truth-maintenance.md` | 82 | Preserve the dated state. The resolved receipt supplies the later outcome. |
| `.agents/rounds/2026-09-03-truth-maintenance/upstream-docs-findings-review-opus.md` | 196 | Preserve the dated comparison. It can refer to the resolved precedent. |
| `.agents/rounds/2026-09-03-truth-maintenance/post-candidate-measurement-fable.md` | 396, 496, 657, 829 | Preserve the dated measurement. Do not rewrite historical results as present behavior. |

Additional reference classes:

- Probe: the finding has no `probe` frontmatter. The probe script has no sd-037 reference.
- Golden: `eval/qa/corpus/battery/protocol-core/q-pc-slp-0004-0006-status.json` has no sd-037 reference.
- Golden: the case tests historical proposal facts. Keep the case and its dated statuses.
- Register: `eval/qa/consistency-register.json` has no sd-037 reference.
- Register: its SLP citations concern proposal facts. Retirement does not invalidate those citations.
- Research: `research/` has no sd-037 reference. Related SLP citations are dated evidence and remain valid.
- Algolia rules: the searched scripts and documentation have no sd-037 reference or finding-specific rule.
- Resolved ledger: `improvements/resolved.json` has no sd-037 receipt yet.

The temporary brief and this review are task evidence. They are not active queue references.
The dated `.agents/rounds/` files contain the persistent research and measurement references listed above.

## Remaining step 6 gates

The brief prohibits tracked edits and GitHub posts. I inspected these gates without performing those actions.

1. Update the active finding to `fixed-upstream` with this dated live result.
2. Reconcile the active references listed above. Preserve the dated records and historical golden facts.
3. Post the resolution result and immutable source snapshot on both upstream references.
4. Read both comments back. Neither reference currently has the required resolution comment.
5. Run the resolver dry run with truthful gate flags and PR #2021 as `--resolving-ref`.
6. Run the resolver after the comment and reference gates pass.
7. Verify the file and intake override are absent. Verify the generated index excludes sd-037.
8. Verify the receipt includes both upstream references, PR #2021, this review, and the live commit evidence.
9. Confirm the probe inventory needs no deletion because this finding has no probe.

PR #2021 has no issue comments. Issue #1981 has only the stale-bot comment.
The resolved Copilot reply concerns the earlier wording fix. It is not a final retirement comment.
The coordinator must post on both [PR #2021](https://github.com/stellar/stellar-protocol/pull/2021) and [issue #1981](https://github.com/stellar/stellar-protocol/issues/1981).
The `--upstream-comment-na` exception does not apply because the finding was filed.

The latest committed finding snapshot is:

[sd-037 at 528fa335dbc52defd82cdd961aba5304f5ee52ca](https://github.com/stellar-experimental/stellar-raven/blob/528fa335dbc52defd82cdd961aba5304f5ee52ca/improvements/stellar-docs/sd-037-limits-slps-discoverability.md).

Use the resolver's current immutable snapshot when preparing the final comments.
The existing issue also contains an older immutable source snapshot.

I ran the resolver with `--dry-run`, without claiming that unresolved gates passed:

```sh
node scripts/improvements-resolve.mjs \
--file improvements/stellar-docs/sd-037-limits-slps-discoverability.md \
--live-recheck '2026-10-06: gh api confirms master f93e69105c995d0a5f85a81da8fd984eaf3d6280; fresh README checks confirm root links and six-row SLP index.' \
--review-evidence 'Distinct reviewer independently checked upstream PR, issue, pinned READMEs, full tree, and references; tmp/sd037-review.md.' \
--resolving-ref https://github.com/stellar/stellar-protocol/pull/2021 \
--dry-run
```

The resolver returned exit code 2 with this message:

```text
sd-037: status must be fixed-upstream before resolution; got reported-upstream
```

It changed no files. I did not pass `--references-reviewed` or `--upstream-commented` because their requirements remain incomplete.
This result confirms that the current record cannot yet complete the resolver.
The source checks support retirement after the coordinator completes those administrative gates.

## Scope check

I did not edit tracked files, commit, push, or post to GitHub.
I wrote only this report in the repository. Fresh source captures live under `/private/tmp/sd037-review/`.
Loading
Loading