Skip to content

feature/Gate-misses-added-bundle · L-260913-d509aa - #23

Merged
lchoquel merged 5 commits into
feature/Python-builder-gapsfrom
feature/Gate-misses-added-bundle
Sep 13, 2026
Merged

lchoquel merged 5 commits into
feature/Python-builder-gapsfrom
feature/Gate-misses-added-bundle

Conversation

@lchoquel

@lchoquel lchoquel commented Sep 13, 2026

Copy link
Copy Markdown
Member

The offline drift gates hashed only the files sources.json recorded, while the call site loads every .mthds file under its bundle directory, so a file added there left both gates green over a bundle the types were not generated from. The sidecar now records that directory as bundle_dir, both gates list it the way their language's call site does and report additions as stale-source, refresh mode re-reads the file set from it, and the edit, design and standalone organize staleness notices cover additions. Stacked on feature/Python-builder-gaps, which carries the Python gate this changes.

Closes L-260913-d509aa

🤖 Generated with Claude Code

https://claude.ai/code/session_01PkKCLxNQGjDLNAiW4kdVpx


Summary by cubic

Fixes the offline drift gates so a .mthds file added to an integrated bundle's directory is no longer missed: the gates previously hashed only the files sources.json recorded, while the call site loads every .mthds file under the bundle directory, leaving both gates green over a bundle the types were not generated from.

  • The sources.json sidecar now records the bundle directory as bundle_dir.
  • Both the JS and Python gates compare recorded sources against every .mthds file under bundle_dir; a file added there is reported as stale-source, and a sidecar recording sources without bundle_dir fails closed.
  • Refresh mode re-reads the file set from bundle_dir, and the edit, design, and standalone organize staleness notices cover additions.
  • The TypeScript call-site template names the SDK's Node floor instead of suggesting a below-floor walk.

Closes L-260913-d509aa.

Written for commit b55c258. Summary will update on new commits.

Review in cubic

lchoquel and others added 4 commits September 14, 2026 00:42
The drift gates hashed only the files sources.json recorded, while the
call site loads every .mthds file under its bundle directory, so a file
added there left both gates green over a bundle the types were not
generated from. The sidecar now records that directory as bundle_dir;
both gates list it the way their language's call site does and report an
unrecorded file, a recorded file outside it, or a missing directory as
stale-source, and a sidecar recording sources without it fails closed.
Refresh mode re-reads the file set from bundle_dir, and the edit, design
and standalone organize staleness notices cover additions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PkKCLxNQGjDLNAiW4kdVpx
…grate tracker

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PkKCLxNQGjDLNAiW4kdVpx
…ddir comment

The comment still told a project on Node below 20.1 or 18.17 to walk the
bundle directory itself, which is below @pipelex/sdk's own Node floor and,
followed, leaves the drift gate's recursive readdir listing a different file
set than the call site loads.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PkKCLxNQGjDLNAiW4kdVpx
@lchoquel
lchoquel force-pushed the feature/Gate-misses-added-bundle branch from 017ba86 to 252a06e Compare September 13, 2026 22:44
@lchoquel

Copy link
Copy Markdown
Member Author

/rev round 1 — profile 4, bar open, reviewed at 017ba86 against feature/Python-builder-gaps.

Reviewers: cubic, Codex (review and adversarial), and the official code-review at level medium, with one verifier.

The branch was rebased onto fefdf9b, the new tip of feature/Python-builder-gaps, and the conflicts with its round-2 commits were resolved by keeping both sides.

Fixed: e157881 replaces the stale advice in references/typescript.md's call-site template, which told projects on Node below 20.1 or 18.17 to walk the bundle directory themselves. It now names the SDK's Node floor (22.12 or newer). Followed, the old advice would have made the drift gate list a different file set than the call site loads.

Deferred, unverified, traced in wip/pipelex-integrate/gate-misses-added-bundle-review-deferrals.md (252a06e):

  • tests that pin the gates' listing expressions rather than their behaviour;
  • the "sources is not an object" message when sources is missing rather than malformed.

🤖 Generated with Claude Code

https://claude.ai/code/session_01PkKCLxNQGjDLNAiW4kdVpx

@lchoquel

Copy link
Copy Markdown
Member Author

/rev round 2 — profile 3, bar defects, reviewed at 252a06e against feature/Python-builder-gaps.

Reviewers: cubic, Codex (review), and the official code-review at level low, with one verifier.

Fixed: nothing. The pass confirmed no defect.

Deferred, unverified, traced in wip/pipelex-integrate/gate-misses-added-bundle-review-deferrals.md (b55c258):

  • the two gates reaching different verdicts on a bundle subdirectory the process cannot search, although each matches its own language's call site;
  • the "sources is not an object" message, raised again from round 1.

🤖 Generated with Claude Code

https://claude.ai/code/session_01PkKCLxNQGjDLNAiW4kdVpx

@lchoquel
lchoquel merged commit e099d2b into feature/Python-builder-gaps Sep 13, 2026
2 checks passed
@lchoquel
lchoquel deleted the feature/Gate-misses-added-bundle branch September 13, 2026 22:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant