fix(ledger): one-line CSS fingerprints; proposer writes uses edges for judged rows (#2877) #123

Merged
bvandeusen merged 1 commits from dev into main 2026-08-21 17:39:48 -04:00
Owner

First-contact fixes from running v26.08.21.1 against project 2:

  • One-line CSS rules followed by a blank line hashed to sha1("") under the declarations-only fingerprint, so 68 unrelated one-liners read as one body-identical copy at the top of the derive readout. The selector line's tail after { is now part of the hash (issue #2877).
  • The proposer scanned only unjudged rows for uses edges, so already-classified consumers never got one; judged rows are now scanned once per body (no proposal made on them).
  • 0084 migration docstring reworded (a line starting "function that …" parsed as a definition).

CI green on dev (run 4184).

🤖 Generated with Claude Code

First-contact fixes from running v26.08.21.1 against project 2: - One-line CSS rules followed by a blank line hashed to sha1("") under the declarations-only fingerprint, so 68 unrelated one-liners read as one body-identical copy at the top of the derive readout. The selector line's tail after `{` is now part of the hash (issue #2877). - The proposer scanned only unjudged rows for `uses` edges, so already-classified consumers never got one; judged rows are now scanned once per body (no proposal made on them). - 0084 migration docstring reworded (a line starting "function that …" parsed as a definition). CI green on dev (run 4184). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
bvandeusen added 1 commit 2026-08-21 17:39:40 -04:00
fix(ledger): one-line CSS rules fingerprint their own declarations; the proposer writes uses edges for judged rows too (#2872, #2870)
CI & Build / Python lint (push) Successful in 4s
CI & Build / Plugin hooks (push) Successful in 8s
CI & Build / integration (push) Successful in 25s
CI & Build / TypeScript typecheck (push) Successful in 32s
CI & Build / Python tests (push) Successful in 59s
CI & Build / Build & push image (push) Successful in 22s
aba16583ab
First deploy of v26.08.21.1 showed two gaps:
- Every one-line CSS rule followed by a blank line hashed to sha1("") — the
  declarations live on the selector line, which the #2872 "declarations only"
  fingerprint dropped — so 68 unrelated one-liners across 17 files read as
  one body-identical copy at the top of the derive readout. The selector
  line's tail after "{" is now part of the hash; an all-blank remainder falls
  back to the whole block.
- The proposer only examined unjudged rows, so consumers that were already
  classified (auth.create_invitation → hash_token) never got a uses edge: 3
  edges for hash_token after the first refresh. Judged rows are now scanned
  for references (once per body), no proposal is made on them.
- 0084 migration docstring reworded: "function that …" at a line start parsed
  as a definition (extractor false positive).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
bvandeusen merged commit 5415bff85c into main 2026-08-21 17:39:48 -04:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bvandeusen/FabledScribe#123