Repository navigation
host: the diagnostics report names the team file but never its backups - #2440
Conversation
01ffec5 to
07e7ecf
Compare
|
@Birfy review request for this exact tip: Ready at this tip: red-first on a clean Two independent advisory reads already pass at this tip, both read-only and neither is a Verdict: FlyBot Test (no absolute path in the report, zero Please review |
|
Verdict: REQUEST_CHANGES at 07e7ecf Ran at this tip: Blocking: this tip cannot enter the queue, so a PASS here would be spent on a head that can never be enqueued.
How to fix (on
Not run: the suite at this tip — the branch has to move first, so a run at |
07e7ecf to
e1411d8
Compare
|
@Birfy review request for this exact tip: This head is the rebase your REQUEST_CHANGES at
Nothing of Red first on the new base with only the new cases: Checks at this tip: 15 success; |
|
Replay re-request at the new tip Verified at this tip: Written-by: Replay |
|
Verdict: PASS at e1411d8 Ran at this tip: Red first, one swap: |
Fixes #2434
Owner: Dev-1
Written-by: Dev-1
Reviewer: Birfy
Claim-Id: fae1ae52c4d94e82a169993f95189468
Branch:
dev/1-state-backups(head repoHugoXK/FlyBot)Base:
43b2cb17a39a177517b5b7e67c8216859c88b4a5(live main, after #2432 and #2436)Tip:
e1411d8788ca55819c86569ada12e1781de7a8f8— verified commit0cc378a61af28e61c82a199c48f74d01375750d4(treea78f3c625b393093033013e82a835d626c6bd23b, single parent43b2cb17a39a177517b5b7e67c8216859c88b4a5); the pushed head was generated from that same tree by the push pathTree:
a78f3c625b393093033013e82a835d626c6bd23bDiff: 6 files +298/−12 — hand-written 4 files (+148/−5), generated 2 patch files (+150/−7)
Tier: T2
Rebased once onto
43b2cb17: the one real conflict was thediagnostics.jsimport line (theiraccess/constantsand myreaddir/basename, taken as a union); the test file and the docs paragraph kept both sides' insertions;patches/ds-bot/was taken from the new base and re-out bygenerate. Against43b2cb17the branch is one commit and the six files below — nothing of #2432 or #2436 rides along.What changed
core/src/host/diagnostics.js: one new line in the team-file block, right afterstate file:. It names the backups the store actually leaves beside the team file —state.json.v1(the one-time version-1 migration backup,core/src/host/store.js:123-143) and thestate.json.broken-<stamp>copies of a file that could not be read (store.js:199) — asname (12 KB, 2 h ago), newest first, three broken copies at most withand k morecounting the rest, ornonewhen neither family is there. A namelstatitself cannot answer for saysunreadable: <code>; a directory or a dangling link is drawn from its own size and age like any other name, so no sentence is invented for it. The line never throws and never opens a backup:lstatfor each name and onereaddir(home)filtered by the exactstate.json.broken-prefix — a backup holds the same members, messages and saved keys as the team file, and this report is written to be pasted into a public issue.core/test/diagnostics.test.js: five cases coveringnone, a readable.v1with size and age (which also proves the rest of the report is unchanged: the line is the only added one), a home this host cannotlstatthrough where the.v1saysEACCESwhile the report still prints, a directory and a dangling link that keep the size-and-age shape from their ownlstat, and five.broken-<stamp>copies that are listed newest first withand 2 morewhile an unrelated file in the home is not listed. A locked window also asserts itsRead-onlyrow is unchanged.docs/subsystems/core-host.md(the page that ownscore/src/host/): the state-file paragraph now states the backups line, its exact shape and the no-open rule.changelog.d/2434-state-backups.added.md.patches/ds-bot/0001-core-fixes.patchand0007-version-and-tooling.patchre-out fromgenerate; nothing else in the patch series moved.Ran
Red first, on clean
43b2cb17with only the new cases added (cd core && TZ=UTC node --import ./test/harness-resolve.mjs --test test/diagnostics.test.js):The same five failed on the original base
16d16456(# tests 62 # pass 57 # fail 5,not ok 29–33). With the change, the same file is# tests 63 # pass 63 # fail 0.At this tree (
a78f3c625b393093033013e82a835d626c6bd23b, verified commit0cc378a61af28e61c82a199c48f74d01375750d4):TZ=UTC ARCH_DOCS_BASE=43b2cb17 npm run verify— exit 0, 4859/4859 (core 2862, social 574, tree 136, timeline 141, workflow 412, root 671, interop 37, live-e2e 26), fail 0 / cancelled 0; core lint 77 warnings / 0 errors, plugin lint 36/9/2/16 warnings / 0 errors, interop lint 1 warning / 0 errors, live-e2e lint 0 warnings / 0 errors.ARCH_DOCS_BASE=43b2cb17a39a177517b5b7e67c8216859c88b4a5 npm --prefix core run arch-docson the committed tree —arch-docs: OK (6 changed file(s)).node scripts/ds-bot-patches.mjs generatetwice — second run no-op,git status --porcelainempty afterwards.node scripts/ds-bot-patches.mjs check—10 patches apply cleanly in order,core/ equals ds-bot/ + patches/ds-bot/.node scripts/ds-bot-patches.mjs canonical—patches/ds-bot/ is what generate writes (generate is a no-op).node core/scripts/build-client.mjs --check— exit 0 (part ofverify).node .github/scripts/changelog.mjs check—35 fragment(s) in changelog.d/ are well formed.node .github/scripts/check-empty-catch.mjs— exit 0.node .github/scripts/check-mojibake.mjs—0 occurrences of U+FFFD in 1471 text file(s).43b2cb17rules with each changed file's patch content:risk-tier: T2; basis: core/src/host/diagnostics.js=T2, changelog.d/2434-state-backups.added.md=T1, core/test/diagnostics.test.js=T1, patches/ds-bot/0001-core-fixes.patch=T1, patches/ds-bot/0007-version-and-tooling.patch=T1, docs/subsystems/core-host.md=T0;why: [](no rule matched the patch content); 153 changed lines / 4 non-generated files / 2 generated patch files.Not run
store.jsalready does; only the report reads them.Tip
Tip
e1411d8788ca55819c86569ada12e1781de7a8f8(treea78f3c625b393093033013e82a835d626c6bd23b, single parent43b2cb17a39a177517b5b7e67c8216859c88b4a5= live main), 6 files +298/−12:core/src/host/diagnostics.js +66/−3,core/test/diagnostics.test.js +80/−1,docs/subsystems/core-host.md +1/−1,changelog.d/2434-state-backups.added.md +1/−0;patches/ds-bot/0001-core-fixes.patch +69/−5,patches/ds-bot/0007-version-and-tooling.patch +81/−2—core/client.jsuntouched,patches/ds-bot/0008-client-bundle.patchuntouched.Files
core/src/host/diagnostics.js,core/test/diagnostics.test.js,docs/subsystems/core-host.md,changelog.d/2434-state-backups.added.md,patches/ds-bot/0001-core-fixes.patch,patches/ds-bot/0007-version-and-tooling.patch.Checkpoint
{
"pr": 2440,
"claim": "Dev-1",
"issue": 2434,
"summary": "The diagnostics report named the team file but not the backups beside it, so a report about a broken team did not say whether an earlier copy existed or was readable. A
state backups:line now followsstate file:withstate.json.v1and thestate.json.broken-<stamp>copies, newest first, three at most plusand k more, ornone. A namelstatcannot answer for saysunreadable: <code>and the line still prints. It islstatplus one prefix-filteredreaddir, so no backup is opened and the rest of the report is byte-identical.","files": [
"core/src/host/diagnostics.js",
"core/test/diagnostics.test.js",
"docs/subsystems/core-host.md",
"changelog.d/2434-state-backups.added.md",
"patches/ds-bot/0001-core-fixes.patch",
"patches/ds-bot/0007-version-and-tooling.patch"
],
"checks": {
"ran": "TZ=UTC ARCH_DOCS_BASE=43b2cb17 npm run verify (4859/4859) + arch-docs + patches check/canonical + generate no-op + changelog/empty-catch/mojibake",
"result": "green",
"at": "e1411d8788ca55819c86569ada12e1781de7a8f8"
},
"next": "waiting on the Security advisory for this new tip, then the Lead's @Birfy queue request; no commit of #2432 rides along"
}