Skip to content

Private-content scan: catch encoded home paths; redact 11 committed locations and re-pin their hashes - #697

Merged
seathatflowsinourveins merged 5 commits into
mainfrom
c5/validate-dash-home-20261004
Oct 5, 2026
Merged

seathatflowsinourveins merged 5 commits into
mainfrom
c5/validate-dash-home-20261004

Conversation

@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator

Scope

  • Pattern: scripts/validate.py PRIVATE_CONTENT gains an encoded home path pattern. It catches the dash-encoded paths that Claude Code uses for project and scratchpad directories: -home-<name>-, -Users-<name>- and the Windows <drive>--Users-<name>-. The existing /home/<name>/ pattern missed them, so an evidence redaction could report zero remaining hits.

  • Redactions: the new pattern found 11 committed locations, now redacted to -home-<user>- (the 2026-09-26 precedent):

    • six socraticode token-comparison run outputs;
    • five lines of the blind-catalog-convergence coverage review.

    These held another host's user name inside encoded paths.

  • Pins: every hash that pinned a redacted file is updated: the gap-wave2 receipt raw-artifact hashes, the closure provenance and the convergence record frozen inputs.

  • Test literal: a planted literal in tests/test_token_e2e_grader.py is now built at run time, so the source no longer matches. The tested input is unchanged.

  • Base: origin/main. Lane: lane:foundation.

SOTA sources

Local commands, run at the head with TMPDIR outside /tmp

  • python3 scripts/validate.py: passed. It includes the full tracked-tree scan, now 0 hits.
  • python3 scripts/validate_convergence.py --all-recorded --root . --json: 0.
  • 18 test modules, including test_validate, test_token_e2e_grader, test_sota_convergence and test_host_receipts: 1,320 tests OK, 5 skipped.
  • Merge-tree landing check: LANDABLE.

Review

  • Built on the GPT lane (Sol, max), over two rounds.
  • Claude cross-family read: requested.

🤖 Generated with Claude Code

@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 4, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-04T19:04:06.574447Z 0110c94 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0110c94c2e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/validate.py Resolved
Comment thread scripts/validate.py Resolved
Comment thread scripts/validate.py Resolved
Scout and others added 2 commits October 4, 2026 17:17
Extend the private-content scanner with regression coverage for encoded
POSIX and Windows home paths, placeholders, examples and boundaries.

Redact usernames in historical publication copies, refresh receipt and
convergence pins, and record dated redaction notes while preserving
research results, usage and sealed-source history. Construct the grader's
planted encoded path at runtime with the same input value.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Extend the shared publication rule to bare Linux, macOS and Windows home
slugs and WSL-mounted Windows profiles. Preserve placeholders and existing
matches, including dotted names with the example prefix. Add regression
cases for name characters, terminators and prefix boundaries, and clarify
the independent preregistration check.

Replace the ten remaining standalone account tokens with <user> without
reformatting historical JSON or changing line counts and trailing newlines.
Redact only the listed registry claim token; leave registry hash entries
for the coordinator. Record the scanner correction and dated provenance.

Narrow the stdout-hash note to its six redacted copies. Preserve the helper's
historical sha256 and its verified published_sha256.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@seathatflowsinourveins
seathatflowsinourveins force-pushed the c5/validate-dash-home-20261004 branch from 0110c94 to 41640e5 Compare October 4, 2026 21:19
…Claude delta read's P3)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@seathatflowsinourveins
seathatflowsinourveins force-pushed the c5/validate-dash-home-20261004 branch from 41640e5 to 4865239 Compare October 4, 2026 21:41
Scout and others added 2 commits October 4, 2026 17:53
…ensitive

Review thread on #697: Windows and default macOS path components are case-insensitive, so C--USERS-carol-repo or
-users-bob- must match like the raw Windows-path rule (re.I) does. Scoped (?i:...) keeps Linux's -home- case-sensitive,
like the plain home-path rule. The new test builds its slugs at run time; it is red on the previous rule (7 subtests)
and green now, and the rule still finds 0 matches over all 10,632 tracked files.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
…e rule's repair rounds and the re-pinned artifacts on main 38ac9ac (registry last)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@seathatflowsinourveins
seathatflowsinourveins force-pushed the c5/validate-dash-home-20261004 branch from 4865239 to 0d2a38b Compare October 4, 2026 21:53
seathatflowsinourveins pushed a commit that referenced this pull request Oct 4, 2026
…re, URLs included, aligned with #697's publication rule (Opus read P1, P2s)

GPT-6.1 Sol round sweep-superseded-g:
- the local rule and the generic rules run over URL tokens again;
- redacted-key collisions fail closed;
- the docs state that until #697 lands, the publication check detects no dash-encoded path.
486 tests OK (8 skips), including a run with #697's candidate pattern added.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
seathatflowsinourveins pushed a commit that referenced this pull request Oct 4, 2026
… claims, publication-safe refusals (round h)

- convert.py: every Users branch (bare -Users-, Windows drive and /mnt forms) matches in any case, as #697's rule
  does at 0d2a38b; -home- and the example exemption stay case-sensitive. Fixtures cover case variants in bare text,
  after projects/ and claude-<uid>/, in URLs, assignments, JSON keys and values (c5 P1).
- README and docstrings name #697 at 0d2a38b and state exactly which roots and contexts both rules cover (P2).
- Dots-only names are redacted; the example boundary matches #697's; the local rule consumes dotted and underscore
  name continuations; residues are checked before any artifact or summary is written (exit 3, nothing written);
  collision errors print index locators, never key text (P3a-e).
- A regression test runs the redactor's output through the actual encoded-home rule in scripts/validate.py; it
  fails until #697 is on the base (no skip), and passed 113,400 constructed cases with #697's validate.py overlaid.
GPT-6.1 Sol round sweep-superseded-h through the packaged SDK worker; the coordinator commits.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator Author

Claude session native-agent-stack-5f: landing at head 0d2a38b2023372ba82576210ae68f73901a315fe. The command center (wsl-architecture-design) gave its ACK at this exact head; under the user's 2026-10-04 decision it owns merges that touch the hot registry. The read-only cross-family review (GPT-6.1 Sol max, the packaged Codex SDK worker) returned ACCEPT at 4865239e7531; this head is reached from it through recorded carry edges (equal owned patch-ids, or a cross-family delta read returning ACCEPT at the edge's target), with no P1 item.

Observed main 3e343ba6c7fc391a54f8780c87df65231f24c276. coordination/merge_tree_landing_check.py (sha256 a11649fcf2e5844c…) exit 0:

main 3e343ba6c7fc391a54f8780c87df65231f24c276 head 0d2a38b2023372ba82576210ae68f73901a315fe base 38ac9aca114ad9ef4a15d8620d947eb5c2f518c3 merged-tree 2efa2cfd5e37a9dd896cb828bc7d2ad63bcfcadc merge-tree-exit 0
ok   1: clean three-way merge
ok   2: merged-vs-main paths 20, outside PR-owned 0 []
ok   3: main drift 105 paths, overlap with PR-owned inputs (registry excluded) []
ok   4: registry foreign rows equal True, order preserved True, PR-owned rows 19, unowned top-level keys differing []
ok   5: merged files[] sorted by path with no duplicates: True (9985 rows)
LANDABLE
condition 5: merged files[] sorted and unique (tree 2efa2cfd5e37a9dd896cb828bc7d2ad63bcfcadc)

Required checks at this head: 8 pass . Unresolved review threads: 0.

@seathatflowsinourveins
seathatflowsinourveins merged commit 1de2a7f into main Oct 5, 2026
29 of 30 checks passed
@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator Author

Claude session native-agent-stack-5f: post-merge observation. Landed as 1de2a7f15054f56a29afa94e9ead65415e108c9a (parent 3e343ba6c7fc391a54f8780c87df65231f24c276), tree 2efa2cfd5e37a9dd896cb828bc7d2ad63bcfcadc. The landed tree equals the checked merged tree and the parent is the observed main.

@seathatflowsinourveins
seathatflowsinourveins deleted the c5/validate-dash-home-20261004 branch October 5, 2026 01:00
seathatflowsinourveins pushed a commit that referenced this pull request Oct 5, 2026
…f the exact emitted bytes

- convert.py: the private-name rule now ends on a name-start lookahead. It removes
  punctuation, Unicode and control-character tails in bare, anchored and URL contexts. The
  example controls, root-case rules and prose controls still pass through. Local name
  continuations consume Unicode word characters, dots and dashes.
- Before the output directory is created, artifacts and the summary are serialized with
  write_json's own serialization. The decoded documents and the exact emitted text are
  scanned, and the inspected UTF-8 bytes are what gets written. Serialized residue exits 3
  and publishes nothing.
- README and docstrings: the delimiter coverage is unrestricted (distinct from #697's
  terminator rule), projects/ and claude-<uid>/ use the same generic rule, and the scan is
  described as covering both decoded and serialized output.
- Tests: non-name tails in every context, serialized profile tails with a Unicode summary,
  refusal on serialized residue, and the CLI wiring of the selected checkout's
  PRIVATE_CONTENT.

Built by GPT-6.1 Sol through the packaged SDK worker (round sweep-superseded-i); committed by
the coordinator.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant