Skip to content

feat(bin): make an unobserved result a third value that cannot pass (land of upstream #1827) - #55

Open
sbracewell64 wants to merge 1 commit into
mainfrom
fm/land-cfvc-07-onto-fork
Open

feat(bin): make an unobserved result a third value that cannot pass (land of upstream #1827)#55
sbracewell64 wants to merge 1 commit into
mainfrom
fm/land-cfvc-07-onto-fork

Conversation

@sbracewell64

Copy link
Copy Markdown
Owner

Ports upstream PR kunchenguid#1827 onto this fork's trunk. Nothing here is redesigned: bin/fm-verify.sh, bin/fm-verify-lib.sh, the PASS / FAIL / NO_VERIFIER_RAN law, the check-conclusion partition, the shared rollup rule for skipped/stale/neutral checks, the bearings label, and the witnessed-red test controls are upstream's as written.

Provenance

upstream PR kunchenguid#1827
head commit 0c3afca
its base 2cf0283
landed onto ed376cf (sbracewell64/firstmate main)

The two trunks diverged at upstream kunchenguid#1495, so the diff did not apply cleanly.

Conflict resolutions

All of them fork-versus-upstream divergence rather than changes to what kunchenguid#1827 does.

bin/fm-bearings-snapshot.sh - upstream sources bin/fm-timeout-lib.sh here; this fork has no such file and inlines its own bounded gh call instead. Only the fm-verify-lib.sh sourcing this contribution adds is kept. The check-rollup splice itself applied unchanged.

bin/fm-test-run.sh - upstream's hunk carried three family entries; two of them (fm-sessionstart-run.sh, fm-timeout-lib.sh) are for files this fork does not have. Only the bin/fm-verify-lib.sh entry, which is this contribution's own, is landed.

bin/fm-brief.sh - upstream had no verification-discipline block at all, so the contribution introduced one. This fork already had one, in the older two-bullet form, shared by the ship, scout and secondmate scaffolds. Its single definition is replaced in place with the contribution's three-valued text rather than adding a second definition, so all three scaffolds move together and the one-owner rule holds. The header comment describing that block is updated to the text it now emits.

tests/fm-brief.test.sh - both suites are kept. This fork's test_standing_worker_rules_by_variant asserted the old block's wording; those three assertions are re-pointed at the replacement text (witnessed negative control, the three-valued rule, and missing-artifact-is-could-not-observe), which is the same intent against the sentences that now exist. Upstream's test_verification_discipline_is_the_type_rule is added alongside it.

docs/scripts.md - the fm-timeout-lib.sh row upstream's hunk carried does not belong on this fork; the two fm-verify rows are landed.

Contribution containment

git merge-tree --write-tree fork/main HEAD exits 0, and the tree it writes is byte-identical to this branch's own tree, so the branch carries only this contribution on top of the current trunk. Both directions of that check were controlled: merge-tree against the raw upstream branch exits 1 (conflicts), and the written tree diffs non-empty against fork/main.

Test evidence

Run on this branch in an isolated worktree at 83db581.

check result
bin/fm-lint.sh clean, exit 0, ShellCheck 0.11.0 (pinned 0.11.0)
bin/fm-doc-audience-check.sh ok, surfaces=72 local_links=213
tests/fm-verify.test.sh pass
tests/fm-brief.test.sh pass
tests/fm-bearings-snapshot.test.sh pass
bin/fm-test-run.sh --changed --base fork/main total=35 failed=1 skipped_gate=1, 639 assertions ok

The one failure, disclosed

tests/fm-calm-pi-extension.test.sh fails with:

not ok - Pi calm home resolution failed: node:internal/modules/esm/get_format:219
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for .../.pi/extensions/fm-calm.ts

This is pre-existing and unrelated. Proved on the base before claiming so: a clean git archive fork/main extraction, with none of this branch's changes present, runs the same suite and exits 1 with the identical error. This branch touches no file that suite reads; the cause is that this environment's node has no TypeScript loader.

Check state

Fork CI is currently failing wholesale on this repository, with a separate diagnosis lane live on it. If every check on this PR reports failure, that is the standing condition rather than a result this branch produced; the local evidence above is what stands behind it.

…land of upstream kunchenguid#1827)

Ports upstream PR kunchenguid#1827 onto this fork's trunk. Nothing here is redesigned:
bin/fm-verify.sh, bin/fm-verify-lib.sh, the PASS / FAIL / NO_VERIFIER_RAN law,
the check-conclusion partition (STARTUP_FAILURE as could-not-observe,
CANCELLED/TIMED_OUT as not-observed rather than FAIL), the shared rollup rule
for skipped/stale/neutral checks, the bearings label, and the witnessed-red
test controls are upstream's as written.

Provenance:
  upstream PR   kunchenguid#1827
  head commit   0c3afca
  its base      2cf0283
  landed onto   ed376cf (sbracewell64/firstmate main)

The two trunks diverged at upstream kunchenguid#1495, so the diff did not apply cleanly.
Resolutions, all of them fork-versus-upstream divergence rather than changes to
what kunchenguid#1827 does:

bin/fm-bearings-snapshot.sh - upstream sources bin/fm-timeout-lib.sh here; this
fork has no such file and inlines its own bounded gh call instead. Only the
fm-verify-lib.sh sourcing this contribution adds is kept. The check-rollup
splice itself applied unchanged.

bin/fm-test-run.sh - upstream's hunk carried three family entries; two of them
(fm-sessionstart-run.sh, fm-timeout-lib.sh) are for files this fork does not
have. Only the bin/fm-verify-lib.sh entry, which is this contribution's own,
is landed.

bin/fm-brief.sh - upstream had no verification-discipline block at all, so the
contribution introduced one. This fork already had one, in the older two-bullet
form, shared by the ship, scout and secondmate scaffolds. Its single definition
is replaced in place with the contribution's three-valued text rather than
adding a second definition, so all three scaffolds move together and the
one-owner rule holds. The header comment describing that block is updated to
the text it now emits.

tests/fm-brief.test.sh - both suites are kept. This fork's
test_standing_worker_rules_by_variant asserted the old block's wording; those
three assertions are re-pointed at the replacement text (witnessed negative
control, the three-valued rule, and missing-artifact-is-could-not-observe),
which is the same intent against the sentences that now exist. Upstream's
test_verification_discipline_is_the_type_rule is added alongside it.

docs/scripts.md - the fm-timeout-lib.sh row upstream's hunk carried does not
belong on this fork; the two fm-verify rows are landed.

Verified on this fork: bin/fm-lint.sh clean (ShellCheck 0.11.0, exit 0),
bin/fm-doc-audience-check.sh ok (surfaces=72 local_links=213), and
tests/fm-verify.test.sh, tests/fm-brief.test.sh and
tests/fm-bearings-snapshot.test.sh all pass.
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