Skip to content

contrib: port upstream Tier B test/CI infrastructure cluster - #36

Merged
Amplify-Logic merged 6 commits into
mainfrom
contrib/upstream-tier-b
Jul 23, 2026
Merged

Amplify-Logic merged 6 commits into
mainfrom
contrib/upstream-tier-b

Conversation

@Amplify-Logic

Copy link
Copy Markdown
Owner

Summary

Ports the upstream Tier B test/CI infrastructure cluster from kunchenguid/firstmate into Amplify-Logic/firstmate as one PR with one commit per upstream SHA.

Ported upstream SHAs (dependency order on this branch)

  1. b843c66 - intent-targeted local no-mistakes tests (.no-mistakes.yaml + contract test)
  2. f02eef1 - canonical timed test runner (bin/fm-test-run.sh + CI wiring)
  3. 622d467 - bounded concurrent test isolation proof
  4. f6c281a - pinned real-Herdr CI coverage (applied before shards to match upstream dependency on tests/fm-install-herdr.test.sh; brief listed it after shards)
  5. 673b6ad - portable test shards and bounded local parallelism
  6. f5bdea3 - install tasks-axi in portable CI shards

Skipped

  • b24e72c (fix(watch): retire merged PR polls after durable notification) - SKIPPED. Hand-port conflicts in bin/fm-watch.sh, bin/fm-pr-lib.sh, bin/fm-pr-check.sh, and a large security-test hunk. Upstream retirement sits on the GitLab/forge poll API (provider/host/path + fm_pr_poll_snapshot_capture) from commits this fork intentionally did not take; our watch stack still uses the GitHub-centric owner/repo/number + fm_pr_poll_artifacts_valid path from the Cherry-pick upstream supervision-robustness (10 commits) #22 continuity cherry-picks. Forcing it would mix forge-poll semantics into fork-divergent watch logic without a clean verification surface.

ci.yml conflict resolution

  • Kept every fork job: Repo invariants, Public-repo leak guard, Stock macOS Bash snapshot compatibility (fork expected counts 13 / 36, not upstream's later 14 / 39).
  • Added upstream shard lanes: test-coverage, tests-portable-parallel-1, tests-portable-parallel-2, tests-portable-serial, tests-herdr, tests-timing-aggregate.
  • Preserved fork surfaces elsewhere: Cursor adapter, capability-recent / fm-capability-lib.sh in backend regression siblings, Herdr presentation model, primary-handoff, porting docs (untouched by this cluster).

Local verification

  • bash bin/fm-lint.sh - exit 0
  • bin/fm-test-run.sh --check-coverage - ok (total=108 parallel=30 serial=70 herdr=8)
  • Infra unit tests (nm-contract, fm-test-run, isolation-proof, install-herdr, lint) - green
  • Portable parallel shards 1 and 2 - green (pp2 needs ambient CURSOR_AGENT unset so CLAUDECODE=1 harness assertions are not overridden by Cursor-primary detection; CI runners are unaffected)
  • Fork spot checks under the new runner: fm-dispatch-select, fm-capability, fm-cursor-adapter, fm-primary-handoff - green
  • Real-Herdr lane not run locally - CI-only verification for the pinned install + real-herdr-gated family (avoids touching the captain default Herdr session)

Notes

  • Direct-PR delivery: no-mistakes-required advisory failure is expected.
  • No upstream merge; only the listed commits ride along.

…upstream b843c66)

* fix(no-mistakes): drop full-suite local Test override

Local no-mistakes Test is intent-targeted; CI Behavior keeps the broad
tests/*.test.sh suite. Keep commands.lint on bin/fm-lint.sh and add a
focused contract test so the override cannot silently return.

* no-mistakes(lint): Make CI contract assertion ShellCheck-clean

(cherry picked from commit b843c66)
…eef1)

* feat(test): add canonical timed suite runner and honest CI timeout

Introduce bin/fm-test-run.sh as the single serial owner for selecting
one script, a family, a conservative changed-file set, or the explicit
complete suite, with per-script timing markers and a JSON artifact.
Wire CI Behavior through the runner, raise the hang-tripwire timeout to
25 minutes, and document entry points without restoring a full-suite
local no-mistakes Test command.

* no-mistakes(review): Captain: fix changed selection and empty summaries

* no-mistakes(review): Captain: fail closed on unmapped changed sources

* no-mistakes(document): Document canonical timed test entry points

(cherry picked from commit f02eef1)
…upstream 622d467)

* feat: add concurrent test isolation proof for Phase 2

Prove an audited portable candidate set passes under concurrent
workers with private mode-0700 temp roots, without enabling
production CI sharding or fm-test-run --jobs.

* no-mistakes(review): Pin isolation proof to audited candidate manifest

(cherry picked from commit 622d467)
f6c281a)

* feat: add required pinned Herdr CI lane

Install exact Herdr 0.7.4 and Treehouse 2.0.1 with official assets and
SHA-256 pins, run the real-herdr-gated family serially through
fm-test-run with hard-fail on herdr-not-found, and keep portable
Behavior free of claimed Herdr coverage.

* no-mistakes(document): Consolidate real-Herdr CI documentation ownership

* no-mistakes: apply CI fixes

* no-mistakes: apply CI fixes

* no-mistakes: apply CI fixes

(cherry picked from commit f6c281a)
…guid#841) (upstream 673b6ad)

* feat: shard portable CI tests after isolation proof

Balance the Phase 2 proven-isolated set into two LPT portable parallel
lanes from Phase 1 timing evidence, keep stateful work in a required
portable serial lane, exclude real Herdr to its dedicated required lane,
and prove complete inventory coverage with a deterministic guard.
Add bounded local --jobs only for the proven set, per-lane timing plus
aggregate artifacts, and reduce the interim portable hang tripwire now
that the serial remainder owns the long wall-clock path.

* no-mistakes(review): Captain, fix CI contracts and completion-order worker scheduling

* no-mistakes(review): Captain, preserve stderr gate-skip detection in parallel tests

* no-mistakes(document): Document portable sharding and timing aggregation

* no-mistakes: apply CI fixes

(cherry picked from commit 673b6ad)
…eam f5bdea3)

Reproduction: portable-parallel-2 completed successfully without tasks-axi while fm-decision-hold-lifecycle emitted a gate skip in 30 ms. The pre-shard lane installed tasks-axi and exercised the test fully. Installing tasks-axi is the smallest counterfactual and makes the representative shard execute the test with gate_skip=false in about 20 seconds. Both parallel jobs receive symmetric setup, while the exact 91-test inventory and coverage guard remain unchanged.
(cherry picked from commit f5bdea3)
@Amplify-Logic
Amplify-Logic merged commit 4a49a7f into main Jul 23, 2026
10 of 11 checks passed
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