HOMELAB-2590: fix(forgejo): preserve verdict record on blocker refusal #85

Merged
pi-landing merged 1 commit from plane/HOMELAB-2590-blocker-record into main 2026-11-03 18:44:29 +00:00
Owner

What

  • Return the already-computed landing record on the leg-4 open-blocker refusal.
  • Preserve the existing refusal and open-blocker behavior; no other landing leg changes.
  • Add pure-parser and route-fake census regressions with a known dangerous class, exact-head general + premium approvals, review #1672 wrapped-denial negative control, and a genuine id-less blocker.

Red / green

  • RED before the source fix: both new tests failed; parser omitted record, census rendered classKnown=false despite the complete panel.
  • GREEN after: both focused regressions pass. Census remains not-landable while reporting dangerous class and verdicts #1676 / #1674.

Verification

  • npx vitest run: 15/15 files, 463/463 tests passed.
  • npx tsc --noEmit: passed.
  • git diff --check: passed.
  • bash scripts/test-in-deployed-shape.sh: 15/15 files loaded, 463/463 tests passed on the pinned clean copy.
  • Diff is limited to forgejo/landing.ts, forgejo/tests/landing-blockers.test.ts, and forgejo/tests/landing-record.test.ts.

Requires a fresh general + premium formal exact-head review panel. No runtime deployment is claimed.

## What - Return the already-computed landing record on the leg-4 open-blocker refusal. - Preserve the existing refusal and open-blocker behavior; no other landing leg changes. - Add pure-parser and route-fake census regressions with a known dangerous class, exact-head general + premium approvals, review #1672 wrapped-denial negative control, and a genuine id-less blocker. ## Red / green - RED before the source fix: both new tests failed; parser omitted `record`, census rendered `classKnown=false` despite the complete panel. - GREEN after: both focused regressions pass. Census remains not-landable while reporting dangerous class and verdicts #1676 / #1674. ## Verification - `npx vitest run`: 15/15 files, 463/463 tests passed. - `npx tsc --noEmit`: passed. - `git diff --check`: passed. - `bash scripts/test-in-deployed-shape.sh`: 15/15 files loaded, 463/463 tests passed on the pinned clean copy. - Diff is limited to `forgejo/landing.ts`, `forgejo/tests/landing-blockers.test.ts`, and `forgejo/tests/landing-record.test.ts`. Requires a fresh general + premium formal exact-head review panel. No runtime deployment is claimed.
HOMELAB-2590: fix(forgejo): preserve verdict record on blocker refusal
All checks were successful
CI / pr-title (pull_request) Successful in 1s
CI / forgejo-ci (pull_request) Successful in 1m6s
CI / skill-args (pull_request) Successful in 1m35s
CI / refocus (pull_request) Successful in 1m9s
CI / ask-user-question (pull_request) Successful in 1m22s
CI / pi-otel-telemetry (pull_request) Successful in 2m13s
CI / plane (pull_request) Successful in 2m16s
CI / todo (pull_request) Successful in 1m25s
CI / mcp-bridge (pull_request) Successful in 29s
CI / forgejo (pull_request) Successful in 1m59s
CI / nats-intercom (pull_request) Successful in 29s
CI / redact (pull_request) Successful in 43s
CI / pi-friction (pull_request) Successful in 48s
CI / pi-swarm-suite (pull_request) Successful in 4m56s
d08769eaa5
ld-reviewer approved these changes 2026-11-03 17:53:10 +00:00
Dismissed
ld-reviewer left a comment
Collaborator

Verdict: APPROVED

model: omniroute/kimi-pool
head: d08769eaa5

Independent GENERAL-seat review of Homelab/pi-extensions PR #85 at exact head d08769eaa5; live head re-fetched before submission and matched.

The diff is confined to forgejo/landing.ts and the two landing test files, and it hoists the already-computed landing record above the leg-4 open-blocker refusal so the refusal now returns that same record object, which is the identical object the success path returns, while the refusal text and every other leg are unchanged from the parent.

On a genuine open-blocker refusal the known dangerous class and the exact-head verdict ids #1676 omniroute/deepseek-flash and #1674 omniroute/kimi-pool (premium) now remain in the census row while the row stays not-landable with canMerge=false.

I independently reproduced the red-first omission by reverting landing.ts to the parent commit in a temporary copy and observing both new regressions fail with refused.record undefined and a class-unknown census fallback, then observed both pass on this head.

The route-fake census test asserts canMerge=false with the one genuine id-less tenant-filter blocker, classKnown=true, dangerous=true, the exact verdict id list, and rendered text containing [open | dangerous | not-landable] while not containing class unknown or NO exact-head verdict, and no gate or evidence rule was widened.

The #1672 wrapped-denial negative control contributes zero findings in both the pure parser and the route-fake harness, and the genuine id-less blocker remains the sole leg-4 cause.

Full validation on this head is green: npx vitest run 15/15 files and 463/463 tests, npx tsc --noEmit clean, and scripts/test-in-deployed-shape.sh passing 463/463 tests on the pinned clean copy.

CI run #205 is pass 14/14 on this exact head, and the diff contains no API, index, types, verdict, or deployed-extension changes.

No blocker open.

## Verdict: APPROVED model: omniroute/kimi-pool head: d08769eaa598881c230bb800f3642e36aad50f77 Independent GENERAL-seat review of Homelab/pi-extensions PR #85 at exact head d08769eaa598881c230bb800f3642e36aad50f77; live head re-fetched before submission and matched. The diff is confined to forgejo/landing.ts and the two landing test files, and it hoists the already-computed landing record above the leg-4 open-blocker refusal so the refusal now returns that same record object, which is the identical object the success path returns, while the refusal text and every other leg are unchanged from the parent. On a genuine open-blocker refusal the known dangerous class and the exact-head verdict ids #1676 omniroute/deepseek-flash and #1674 omniroute/kimi-pool (premium) now remain in the census row while the row stays not-landable with canMerge=false. I independently reproduced the red-first omission by reverting landing.ts to the parent commit in a temporary copy and observing both new regressions fail with refused.record undefined and a class-unknown census fallback, then observed both pass on this head. The route-fake census test asserts canMerge=false with the one genuine id-less tenant-filter blocker, classKnown=true, dangerous=true, the exact verdict id list, and rendered text containing [open | dangerous | not-landable] while not containing class unknown or NO exact-head verdict, and no gate or evidence rule was widened. The #1672 wrapped-denial negative control contributes zero findings in both the pure parser and the route-fake harness, and the genuine id-less blocker remains the sole leg-4 cause. Full validation on this head is green: npx vitest run 15/15 files and 463/463 tests, npx tsc --noEmit clean, and scripts/test-in-deployed-shape.sh passing 463/463 tests on the pinned clean copy. CI run #205 is pass 14/14 on this exact head, and the diff contains no API, index, types, verdict, or deployed-extension changes. No blocker open.
ld-reviewer approved these changes 2026-11-03 18:00:46 +00:00
Dismissed
ld-reviewer left a comment
Collaborator

Verdict: APPROVED

model: omniroute/k3.1-pro
head: d08769eaa5

tier: premium

Independent PREMIUM review of Homelab/pi-extensions PR #85 at exact head d08769eaa5; the remote branch head was re-fetched immediately before submission and matched.

The exact commit touches only forgejo/landing.ts and its two landing test files, moves the existing landing-record construction above the leg-4 refusal, and returns that same record object beside the unchanged refusal; every other gate, evidence rule, and return leg remains unchanged.

On a genuine open-blocker refusal the census remains not-landable with canMerge=false while retaining classKnown=true, dangerous=true, and exact-head verdict ids #1676 omniroute/deepseek-flash and #1674 omniroute/kimi-pool (premium), without the class unknown or NO exact-head verdict fallback lies.

I independently reproduced the red-first defect in an isolated temporary copy by combining parent landing.ts with exact-head tests: the pure parser returned refused.record undefined and the route-fake census returned classKnown=false, with both targeted regressions failing; the exact head then passed both.

The genuine id-less tenant-filter blocker remains the sole leg-4 cause, and the #1672 wrapped No-blocker denial contributes zero findings; the refusal record deep-equals the successful no-blocker baseline, proving record propagation without gate or evidence widening.

Full independent validation on this head is green: 15/15 files and 463/463 tests, TypeScript no-emit typecheck, diff check, and deployed-shape verification with a clean pinned install plus 463/463 tests; CI #205 is PASS with 14/14 jobs successful on this exact head.

No blocker open.

## Verdict: APPROVED model: omniroute/k3.1-pro head: d08769eaa598881c230bb800f3642e36aad50f77 tier: premium Independent PREMIUM review of Homelab/pi-extensions PR #85 at exact head d08769eaa598881c230bb800f3642e36aad50f77; the remote branch head was re-fetched immediately before submission and matched. The exact commit touches only forgejo/landing.ts and its two landing test files, moves the existing landing-record construction above the leg-4 refusal, and returns that same record object beside the unchanged refusal; every other gate, evidence rule, and return leg remains unchanged. On a genuine open-blocker refusal the census remains not-landable with canMerge=false while retaining classKnown=true, dangerous=true, and exact-head verdict ids #1676 omniroute/deepseek-flash and #1674 omniroute/kimi-pool (premium), without the class unknown or NO exact-head verdict fallback lies. I independently reproduced the red-first defect in an isolated temporary copy by combining parent landing.ts with exact-head tests: the pure parser returned refused.record undefined and the route-fake census returned classKnown=false, with both targeted regressions failing; the exact head then passed both. The genuine id-less tenant-filter blocker remains the sole leg-4 cause, and the #1672 wrapped No-blocker denial contributes zero findings; the refusal record deep-equals the successful no-blocker baseline, proving record propagation without gate or evidence widening. Full independent validation on this head is green: 15/15 files and 463/463 tests, TypeScript no-emit typecheck, diff check, and deployed-shape verification with a clean pinned install plus 463/463 tests; CI #205 is PASS with 14/14 jobs successful on this exact head. No blocker open.
ld-reviewer left a comment
Collaborator

Verdict: APPROVED

model: omniroute/kimi-pool
head: d08769eaa5

Fresh independent GENERAL-seat review of Homelab/pi-extensions PR #85 at exact head d08769eaa5; the remote head was re-fetched immediately before submission and matched.

The diff is confined to forgejo/landing.ts and the two landing test files. In evaluateLandingLock the leg-4 open-blocker early return is moved below the landing-record construction and returns that same already-computed record object; the record fields, the refusal string, the blocker detection with the withdrawn-hold filter, and every other gate or evidence leg are unchanged from the parent.

I verified against the deployed landing.ts that this keeps a genuine open-blocker refusal fail-closed: ok stays false, canMerge stays false, and the refusal text is byte-identical, while the census row now retains the measured dangerous class and the exact-head verdict ids instead of falling back to class unknown.

The new regressions are red-first: the pure-parser test reproduces the omitted record on parent landing.ts and asserts the refused record deep-equals the successful baseline record, and the route-fake census test asserts canMerge false with the genuine id-less tenant-filter blocker while classKnown, dangerous, and verdict ids #1676 omniroute/deepseek-flash and #1674 omniroute/kimi-pool (premium) are preserved in the rendered row.

The #1672 wrapped No-blocker denial is exercised as a negative control in both harnesses and contributes zero findings, so the genuine id-less blocker remains the sole leg-4 cause and no second blocker is smuggled in.

Full validation on this head is green: CI run #205 pass with 14/14 named jobs on this exact sha, and the diff contains no API, index, types, verdict, or deployed-extension changes.

No blocker open.

## Verdict: APPROVED model: omniroute/kimi-pool head: d08769eaa598881c230bb800f3642e36aad50f77 Fresh independent GENERAL-seat review of Homelab/pi-extensions PR #85 at exact head d08769eaa598881c230bb800f3642e36aad50f77; the remote head was re-fetched immediately before submission and matched. The diff is confined to forgejo/landing.ts and the two landing test files. In evaluateLandingLock the leg-4 open-blocker early return is moved below the landing-record construction and returns that same already-computed record object; the record fields, the refusal string, the blocker detection with the withdrawn-hold filter, and every other gate or evidence leg are unchanged from the parent. I verified against the deployed landing.ts that this keeps a genuine open-blocker refusal fail-closed: ok stays false, canMerge stays false, and the refusal text is byte-identical, while the census row now retains the measured dangerous class and the exact-head verdict ids instead of falling back to class unknown. The new regressions are red-first: the pure-parser test reproduces the omitted record on parent landing.ts and asserts the refused record deep-equals the successful baseline record, and the route-fake census test asserts canMerge false with the genuine id-less tenant-filter blocker while classKnown, dangerous, and verdict ids #1676 omniroute/deepseek-flash and #1674 omniroute/kimi-pool (premium) are preserved in the rendered row. The #1672 wrapped No-blocker denial is exercised as a negative control in both harnesses and contributes zero findings, so the genuine id-less blocker remains the sole leg-4 cause and no second blocker is smuggled in. Full validation on this head is green: CI run #205 pass with 14/14 named jobs on this exact sha, and the diff contains no API, index, types, verdict, or deployed-extension changes. No blocker open.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Homelab/pi-extensions!85
No description provided.