Skip to content

Small Claude / Metadata updates - #289

Open
ms609 wants to merge 27 commits into
ms609:cpp-searchfrom
agent-issues:cpp-search
Open

ms609 wants to merge 27 commits into
ms609:cpp-searchfrom
agent-issues:cpp-search

Conversation

@ms609

@ms609 ms609 commented Sep 10, 2026

Copy link
Copy Markdown
Owner

No description provided.

ms609 and others added 22 commits August 5, 2026 15:18
Fixes the one defect small enough to fix inline, and records the round.

`EdgeListSearch()` looped `for (iter in 1:maxIter)`. `1:0` is `c(1, 0)`, so
`maxIter = 0` silently performed two rearrangement iterations instead of none
-- and since `RearrangeEdges()` accepts any candidate scoring `<= scoreToBeat`,
a caller asking for zero rearrangements could get a different tree back.
`maxIter` is user-facing and reaches this loop from `Bootstrap()`,
`Jackknife()` and `Ratchet()`, so `maxIter = 0` is a reachable "score without
searching" idiom.

Switched to `seq_len(maxIter)`, pre-initialising `iter <- 0L` because `iter` is
read after the loop. Pinned by a regression test using mocks that error if
called; `EdgeListSearch()` is exported, so it needs no dataset and no C++.

The round's other findings are filed as #125 (the
documented `edgeToBreak = -1` contract is broken at 4 of 6 exported entry
points, one of them silently) and #126 (`SuccessiveApproximations()` runs
without the sectorial/fuse/pool machinery, undocumented).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Second pass over the same scope with the sonnet arm's entire yield in the
do-not-re-investigate block. 26 candidates, 26 confirmed, 0 refuted -- four of
them sev:high, against the sonnet arm's zero. Filed as seven grouped issues:
#136, #137, #138, #139 (high), #143, #144 (med), #131 (low).

The paired result answers the question the two passes were run to settle: a
cheap first pass did not reduce the expensive pass's work, so sonnet-first is
an added pass rather than a substituted one. Recorded in log.md; the rationale
in focus-areas.md now says not to re-run it.

Fixes one defect inline: the "Stability not reached" branch of
`SuccessiveApproximations()` emitted its message regardless of `verbosity`
while the "converged" branch was gated, so a default `verbosity = 0` call was
noisy. Both branches now sit inside one gate. Nothing in tests/, vignettes/,
man/ or R/ referenced the string.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
GitHub will not let an account approve its own PR, so a PR opened as ms609
cannot be reviewed by ms609. Attributing agent work to the ms609-agent
machine account is what makes the review step possible at all.

Records the two mechanisms, both applied per command so the human's global
git config and `gh auth` keep working interactively: `git -c user.name/-c
user.email` for commit attribution, and a `GH_TOKEN=$CLAUDE_GH_TOKEN` prefix
for `gh`, since a PR's author is whichever account authenticated the call and
there is no per-PR override.

Pushes and the GHA dispatch scripts deliberately stay on the human's
credentials -- push identity does not affect PR authorship, and dispatching a
workflow needs an actions:write scope the agent token need not carry.

Notes that an org billing per seat cannot absorb a machine account this way,
so StratoBayes needs a GitHub App or no review step.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The round record has no business waiting on a code review. This file sits on
a protected branch, and four completed rounds with 56 filed findings once sat
stranded on an unmerged PR while `last_focus:` here still named a stale area
-- so the next dispatch would have re-swept an area already reviewed twice
that day.

Area 15's three rounds now live as one Discussion post each, under that
area's category. Removes the two entries added earlier on this branch and
replaces them with a pointer.

`last_focus:` stays live and stays current: the new scheme picks the stalest
category rather than following a pointer, but that ordering cannot be
computed until every area has a discussion, and the backfill has to post
oldest-first so createdAt reproduces true staleness. Only area 15 is
migrated so far.

The historical entries below the pointer stay put -- eleven in-repo files and
the /red-team skill cite this path, and the T-nnn ids are frozen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Round records moved to GitHub Discussions in 2026-08 but nothing in the
repo said so, and /next-issue still assumed one issue means one fix site.

- AGENTS.md: name Discussions as the round-record store and log.md as
  closed; correct the area label range (13 -> 15, and say to count rows).
- next-issue: write every gh call as ms609-agent and request review from
  the maintainer; read each red-team body for its full file list, since
  issues are now filed by root cause and routinely span several sites;
  never brief a chip against an issue that asks for a decision.
- next-issue: carry a verifier's corrections into the brief in place of
  the finder's original numbers.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sync cpp-search from ms609 (reverse convergence, post-split)
chore(agents): post as ms609-agent, not as the maintainer
The area:N row was edited on both sides: cpp-search clarified that the label
marks code ownership rather than the finding round, this branch noted that the
range grows. Both are kept.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Area 15's scope row grew on both sides. Kept as a union, except that
cpp-search's "#16 gives this row higher urgency, take it first" is dropped:
this branch's round discharged that question (#16 closed, guard landed in
PR #50, the pure-R layer measured doubly guarded), so the two cannot both
stand and the later assessment wins. cpp-search's src/rearrange.cpp note
is kept verbatim.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
All 15 areas have a Discussion record, so rotation reads staleness from
createdAt and the pointer is dead. Records the invariant createdAt relies on
— creation order equals review-recency order — which the backfill broke and
discussion #184 restored.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The header claimed /red-team appends an entry and updates last_focus, which
the same file now says is retired. Replaced with what the file actually is.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The `iter <- 0L` added alongside the seq_len() fix was dead: `for` binds its
variable unconditionally, so a zero-length sequence leaves `iter` NULL rather
than falling through to the earlier assignment. The verbosity report then
printed "after  rearrangements." with a blank. Handle it where it is read,
and cover it — the existing maxIter = 0 test runs at verbosity 0, so it could
not see this.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
These rows argued with superseded versions of themselves — why a start_tier
was chosen and why it no longer binds, which #42 urgency justified the row and
why it is discharged. A scope row briefs the next round; it is not a record of
how it came to say what it says. Keeps the operative content: scope, seam
verdict, the standing prohibition on re-running the tier experiment, the
transferable lesson, and the next-visit leads.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
"Performing tree search" was emitted before maxIter was consulted, so
maxIter = 0 claimed a search had started and only the closing summary
contradicted it. Gate the claim instead, and ask maxIter directly rather
than inferring it from the loop variable being left NULL.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The identity paragraph restated AGENTS.md's own Agent identity section; it
now carries only what is specific to dispatch. "One issue is no longer one
fix site" and "the old coordination-commit exception is gone" describe a
transition rather than a rule, and the `task` label was defined by the file
it was migrated from. log.md no longer keeps `last_focus:`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…e-571288

docs(process): record the Discussions round-log, agent identity and root-cause grouping
red-team area 15: two paired passes over the legacy pure-R search API, plus two inline fixes
@ms609
ms609 enabled auto-merge September 10, 2026 11:47
ms609-agent and others added 5 commits September 18, 2026 20:07
No issue-shaped work belongs in a git-tracked file. A specific defect is an
issue; a routing or sequencing ask is a post in the area's Discussion category,
beside the round records. As a live queue this file drifted into a duplicate
ledger of issue state.

The `/red-team` skill no longer appends here: a version bump that reopens
dormancy now files an issue or posts to a Discussion, and the `tidy` pass drains
the remaining rows rather than sweeping and re-writing them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
/next-issue is now a global skill shared with mkp and StratoBayes; only what
varies per repo lives here. For TreeSearch that is mostly the base branch: work
targets cpp-search, not main, and --base cpp-search is not optional, since the
fork's default branch governs whether Fixes #N closes an issue on merge.

Grouping prefers the area:N labels over a hot-file list - the areas were drawn
along subsystem lines, so they already approximate the file-collision graph and
are read from the issue rather than re-derived. deferred is explicitly not the
maintainer-call filter: it means "not now", not "needs a human decision".

Build ids are derived from the branch rather than the session, because a resumed
chip gets a new session id and would silently build a second tree.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Opus 5.5 outclasses Fable 5.1 at about a fifth of the price, so the
ladder no longer follows alias name. Record Opus 5.5 in the model-version
legend, mark fable suspended until the maintainer re-enables it, and
route everything that pointed at fable to opus. Every dry or dormant
verdict recorded on an outclassed model is reopened.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…scussions

Drop the project model-version legend and the per-area start_tier and
verdict text. Each round's Discussion title stamps the model that ran,
and the /red-team skill holds the capability order, so a model release
needs no write here. The legend and any carried-over per-area asks were
archived to Discussions before removal.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs(red-team): suspend fable; move model status to Discussions

This branch has not been deployed

No deployments
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