Skip to content

did2.build: key_id / positions_from (did-schema 2026-10-05) - #217

Merged
jesshaley merged 2 commits into
V2from
claude/ecstatic-pascal-md91fw
Oct 5, 2026
Merged

jesshaley merged 2 commits into
V2from
claude/ecstatic-pascal-md91fw

Conversation

@jesshaley

Copy link
Copy Markdown
Collaborator

did-schema renamed the edge a key takes its positions through: key_labels_id → key_id and the key field labels_from → positions_from, and the edge now points only at a data_type document. This was signed 2026-10-05 in V_eta_study_plan.md, did-schema PR #87. This PR follows the rename in the builders:

  • did2.build.key: 'LabelsFrom' → 'PositionsFrom' (emits positions_from).
  • did2.build.sampledBody / opaqueBody: 'KeyLabelsIds' → 'KeyIds' (emits key_id).
  • did2.build.statement gains 'KeyIds', so a statement can key by another statement's entries. The Haley import's encounters are the first use: per-encounter values keyed by a worm's encounter-onset list.
  • The key rule check (private/checkRules.m) names positions_from.
  • New testKeyPositionsFromAnotherDocument.

No import or migrator wrote the old names, and empty edges are still dropped (forward.m). Callers that never set them are unaffected by either schema.

Merge order: did-schema #87 first. test-builder.yml runs against did-schema main, and the new test filters itself until main declares key_id.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf


Generated by Claude Code

did-schema renamed key_labels_id -> key_id and labels_from -> positions_from
(signed, V_eta_study_plan.md). did2.build.key's 'LabelsFrom' becomes
'PositionsFrom', the bodies' 'KeyLabelsIds' becomes 'KeyIds', the key rule
check names positions_from, and did2.build.statement gains 'KeyIds' (a
statement keyed by another statement's entries, e.g. per-encounter values
keyed by an encounter-onset list). Empty edges are still dropped, so callers
that never set them are unaffected.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf

Copy link
Copy Markdown
Collaborator Author

"Quick migrator tests / Migrator transform tests (no corpora)" is red: 78 tests fail. The failures are not from this PR.

The builder tests do cover this change, but they did not trigger on their own. The test-builder.yml path filters are written as +did2/.... In GitHub's path filters, + is a pattern character, so the filters probably never match the +package folders. I've started the workflow manually with workflow_dispatch on this branch.


Generated by Claude Code

In GitHub path filters + means 'one or more of the preceding character',
so 'src/did/+did2/+build/**' never matched a +package folder and the job
ran only when this workflow file itself changed (b351ea7). Escaped as \+.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
@jesshaley
jesshaley marked this pull request as ready for review October 5, 2026 17:17
@jesshaley
jesshaley merged commit 789f8d7 into V2 Oct 5, 2026
6 of 8 checks passed
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.

2 participants