feat(scaffold): equivalence-harness framework (bash-oracle runner + observable-surface capture + diff) #503
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#503
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Build the byte-equivalence harness that gates every subsequent phase. Load-bearing — subsequent phases' gates use this instrument.
Scope
internal/harness(or a top-levelharness/module — decide at implementation): given (a) a bash script + args + fixture input and (b) the equivalent Go binary invocation, capture the five observable surfaces per test-strategy.md §1 (GITHUB_OUTPUT, stdout key=value, committed git artifacts, Forgejo API payloads, exit codes), diff, and report byte-mismatches with structured error output.testdata/fixtures/<phase>/<case>/with input + expected-output structure.go testvia aTestHarness_*naming convention or dedicated harness test-runner.AC
16a21c5docs/architecture/test-strategy.mdreflects the implementation shape — verified: test-strategy.md §2a landed in PR#512 with implementation shapeRefs ADR-0009 §3.1 (approach — harness as load-bearing gate mechanism), §3.3 phase 0a, §5 (absence-needs-positive-control, locale-safe subprocess); test-strategy.md §1, §3b, §7.
Closed by hand — PR#512 merged as
16a21c595d39c04b4d201d84eae5bd3fb5ed0202on v2/next via server-side rebase (pre-merge head was314fb2e; rebased onto v2/next @3af1442; Surveyor stamp 4536 carried per Forgejo's server-side-rebase stamp-preservation semantics). Per ADR-0009 §3.3 phase-0a discipline: no close-keyword in PR body (avoids Forgejo positional-close-parser trap; matches #510 pattern). All 4 ACs verified + ticked in PR#512 body; equivalence-harness framework now live atinternal/harness, testdata/fixtures conventions established, LC_ALL=C locale-safe subprocess pattern enforced non-overridably. Phase 0a status: 2/3 complete (#501 + #503); #502 pending token-fix cycle (PR#514).