Repository navigation
Build [one affiliation relation each] and [filter label is the method name] - #278
Merged
Merged
Conversation
… name] metadata_editor: an author with several affiliations gets one affiliated_with relation per affiliation, in v1's order, instead of carrying the document whole as v1 (carry-054); the round trip rebuilds the struct array. Decided by Jess Haley, 2026-10-27 [one affiliation relation each] (did-schema #148). filter (pyraview): a label that differs from its type is written verbatim to the filter method's name instead of carrying the pyraview (carry-007 stays for the all-pass, which builds no method); the round trip reads it back from method.name. Decided by Jess Haley, 2026-10-27 [filter label is the method name] (did-schema #136). Tests: the two carry tests are inverted; the writer-shaped round-trip suites gain a two-affiliation form and a named filter. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
The migrator no longer writes [carry-054] (one affiliated_with relation per affiliation), so tools/check_carry_citations.py R4 failed on the marker that still listed it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
…nal order The test needs a carried pyraview; it used a label that differs from its type, which [filter label is the method name] now converts (the label is the method's name), so the run made 5 documents, not the 1 carried source. A fractional filter order still carries ([small unread settings] (2)). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FxKLA8Tbf9cpvDe7fuVeKf
jesshaley
marked this pull request as ready for review
October 29, 2026 04:55
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## V2 #278 +/- ##
=========================
=========================
☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This was referenced Oct 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Builds two decisions recorded in did-schema
schemas/V_eta_go_forward_class_audit.md(Jess Haley, 2026-10-27).[one affiliation relation each] (answers did-schema #148). A
metadata_editorauthor with several affiliations now gets oneaffiliated_withrelation per affiliation, in v1's order. Before, the whole document was carried as v1 (carry-054).AuthorData.addAffiliationgrows the field into a struct array.+migrators_j/metadata_editor.m: reads every affiliation, not only a scalar one. The carry-054 check and the header's "OPEN" note are removed.+roundtrip/metadata_editor.m: rebuilds the struct array; one relation still rebuilds a scalar struct.[filter label is the method name] (answers did-schema #136). A filter
labelthat differs from itstypeis written verbatim to the filter method'sname. Before, the pyraview was carried whole as v1. The term and parameters still come from the type and the v1 parameters. An all-pass filter builds no method, so a differing label there still carries (carry-007).+migrators_j/private/jFrequencyFilter.m: passes'Name'todid2.build.method.+roundtrip/pyraview.m: reads the label back frommethod.name, falling back to the type.Tests:
testMigratorsJ/testMetadataEditorAuthorWithTwoAffiliationsGetsARelationEachandtestMigratorsJMeasurementFilter/testALabelThatDiffersFromItsTypeIsTheMethodName.testRawV1RoundTripSession/testWriterFormsConvertAndRoundTrip, and a named filter intestRawV1RoundTripPyraview/testWriterShapesRoundTrip.After merge, did-schema will drop carry-054, close OPEN_WORK #141, and mark both decisions Built.
Generated by Claude Code