Skip to content

Map t0011/t0013 tip residuals (M0 evidence) - #2

Merged
ericvh merged 1 commit into
mainfrom
scaffold/1-map-tip-xfails
Sep 1, 2026
Merged

Map t0011/t0013 tip residuals (M0 evidence)#2
ericvh merged 1 commit into
mainfrom
scaffold/1-map-tip-xfails

Conversation

@ericvh

@ericvh ericvh commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Human Summary

  • Behavior/outcome changed: first work slice is an evidence map, not a product fix. t0011 allsquash and t0013 ACL are recorded as two independent residuals with pinned kernel, diod, and harness versions.
  • Mechanism or implementation: ledger rows E0003–E0006, plan docs/plans/1-map-tip-xfails.md, formulation horizon split into two later implementation slices.
  • Review focus: pins are real; the split is justified; no product code snuck in.
  • Proof result: Mapped. scripts/check-scaffold.sh passed locally.
  • Known gaps not claimed: no kernel/diod/harness change; XFAIL is not integration proof; ghcr.io/v9fs/docker:latest is floating.

Evidence and Target

Proof Movement

  • Before: Unmapped
  • After: Mapped
  • Discriminating observation: a single-harness-bug mapping would fail because the same run shows squash working (export uid 65534) while ACL walks return EOPNOTSUPP 95 with no Txattrcreate. A squashuser-only change cannot make t0013 PASS.
  • Exact commands/artifacts and results: scripts/check-scaffold.sh passed; CI on this PR is the scaffold job.

Independent Review

  • Creator: mapping agent
  • Reviewer: distinct from creator (required)
  • Review note: pending
  • Decision: pending
  • Resolved blockers/questions: none
  • Unresolved objections: none yet

Follow-Ups

  • After this lands, open two implementation issues (do not open them in this PR): t0011 squashuser vs ownership assertion; t0013 ACL xattr / TMPFS_XATTR.
  • Keep diod/xfail.txt until those slices PASS.

Durable State Updated

  • Evidence map
  • Proof ledger
  • Decision/experiment/risk records as applicable (D0002 unchanged)
  • Methodology trigger (none; first slice)
  • Compact audit-report link when required (off)

Closeout

  • Current GitHub status/proof/review labels: status:review, proof:mapped, review:needs-independent
  • Next dependency-ordered issue: two implementation slices after merge
  • State closer: after independent review

Made with Cursor

Record kernel v7.2, chaos/diod, and Harness CI run 32929975795 so the
next slices can change squashuser or ACL xattrs without mixing claims.

Verification:
- bash scripts/check-scaffold.sh
- git diff --cached --check

Co-authored-by: Cursor <cursoragent@cursor.com>
@ericvh ericvh added this to the M0 - Bootstrap milestone Aug 31, 2026
@ericvh ericvh added kind:scaffold Project scaffold and control surface area:cross-cut Write scope spans linux and test proof:mapped Evidence and dependencies mapped status:review Independent review in progress review:needs-independent Distinct reviewer evidence required labels Aug 31, 2026
@ericvh ericvh moved this to In review in V9fs Test Infrastructure Aug 31, 2026
@ericvh

ericvh commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Review: approved
Comments:

  • nit: Human readable portion isn't very human readable.

@ericvh ericvh added status:ready Proof and review gates complete review:approved Independent review gate passed and removed status:review Independent review in progress review:needs-independent Distinct reviewer evidence required labels Sep 1, 2026
@ericvh
ericvh marked this pull request as ready for review September 1, 2026 15:50
@ericvh
ericvh merged commit 0d2f22d into main Sep 1, 2026
2 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in V9fs Test Infrastructure Sep 1, 2026
@ericvh

ericvh commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Review: approved
Focus: whether t0011 allsquash and t0013 ACL are actually independent residuals on the pinned run, and whether the pins/non-claims would let an implementer mix them.

Comments:

  • suggestion: Correct the discriminator wording when opening the t0013 implementation issue. The plan/PR text says ACL Txattrwalk returns EOPNOTSUPP 95 with no Txattrcreate. On run 32929975795, t0013-v9fs-acl.diod.log has two Txattrcreate calls (system.posix_acl_access line 136, system.posix_acl_default line 390). Rxattrcreate and the 44-byte Twrite succeed; the following Tclunk is Rlerror ecode 95, and later walks still return 95. Walks are EOPNOTSUPP; create is attempted and does not persist. Reconsideration trigger: drafting the t0013 work-slice issue.
  • nit: Agree with the earlier human note that the PR summary is dense. Not blocking for a mapping slice.
  • praise: The split is justified by the same run: t0011 export Rgetattr uid 65534 (squash is working; the test then asserts $(id -u):$(id -g) on exp/) while t0013 -o posixacl mounts and Txattrwalk of system.posix_acl_* returns Rlerror ecode 95. t0012 is fully PASS. A squashuser-only change cannot make t0013 PASS.

Tests/proof requested:

  • Mapped discriminator reconstructed from artifacts, not from the mapping text: empty diod-xfail/unexpected.txt; qemu.log diod-regression-eval: unexpected: 0; t0011 Rgetattr uid 65534; t0013 Rlerror ecode 95 on posix_acl walks.

Evidence appendix:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:cross-cut Write scope spans linux and test kind:scaffold Project scaffold and control surface proof:mapped Evidence and dependencies mapped review:approved Independent review gate passed status:ready Proof and review gates complete

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant