Repository navigation
rc.6: specify eight guessed rules, move engine material to companion profiles, close the rc series - #68
Merged
Conversation
slugify, link targets by path key, link and tag syntax, code in the body, frontmatter delimiters, the order_by value order and path tie-break, one write order in Chapter 12 with the create membership path, and the path_value_normalized warning. Fixtures and requirements for each; SN-103.
The pack manifest, lock file, assessment, and apply sections move verbatim from Chapter 05A. The profile ID is now type_packs/0.1, in the manifest, claim schema, checker, and fixtures.
Move detection and the three-way record merge move verbatim to concurrent-edits/0.1.md as profiles move_detection/0.1 and merge/0.1. Record identity moves to Chapter 03 and writer format fidelity to Chapter 12. Core Write no longer depends on the body merge: rebasing body_edits is a merge/0.1 requirement, and watch reports an externally moved file as a rename only under move_detection/0.1.
Chapter 05A keeps what a collection tool needs: a lookup returns every implementation, none is chosen silently, and implementing a contract grants no access. What a gateway exposes and what an approval pins is section 10 of interop/0.1.md.
…o an implementation The regex-lite crate and diff-match-patch's bisect become informative notes. The line alignment of the body merge is written out as a procedure, checked against the executable model.
Core Read is now a per-record profile: it computes no path keys and reports no path_collision.
… checklist rc.6 is the last release candidate that adds or changes behavior. 0.3.0 is stable when no Provisional paragraph remains in chapters 00-14 and the release contract's implementations hold verified claims. spec_version is exactly 0.3.0. Chapter 13 lists the rc.6 rules and profile ID changes.
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.
What this changes
Two kinds of change to the 0.3.0 rc.6 draft. Each commit is one of the items below and can be reviewed on its own.
Rules that tools had to guess (
c81cd33)Each has fixtures (
since: 0.3.0-rc.6).slugify(ch09) is a four-step algorithm: NFD, drop combining marks, lowercase ASCII, runs of other characters become-. No transliteration.%20, titles, URI schemes.order_by(ch11): a total value order by kind, with ascendingfile.pathas the final tie-break in both directions.path_value_normalized(ch07, ch04): a write that normalizes a path-stored value reports a warning with the written and stored values.Shape
type-packs/0.1(968dec7).048d696). Three-way merge and move detection are the companion profileconcurrent-edits/0.1(claim profilesmerge/0.1,move_detection/0.1). Record identity is in ch03 and writer format fidelity in ch12.91c2404).7176917): the regex profile and the merge line alignment no longer refer toregex-liteor to the executable model. The alignment is a numbered procedure with pseudocode.path_equivalencemoves from Core Read to Collection Semantics (ffbaf68).26ee1ea): rc.6 is the last rc that adds or changes behavior; 0.3.0 is stable when no Provisional paragraph remains in chapters 00–14 and the release contract's implementations hold verified claims.spec_versionis exactly"0.3.0".release/v0.3.0.mdlists the 13 remaining Provisional paragraphs.Behavior changes to note
body_editsis amerge/0.1requirement. Core Write alone applies edits directly or reportsbody_base_unavailable.record_renamedonly by implementations that claimmove_detection/0.1; others report a delete and a create.merge→merge/0.1,type_packs→type_packs/0.1, move detection leftwatch, andcore_read.path_equivalence→collection_semantics.path_equivalence. Chapter 13 has the migration table.Checks
scripts/check_v03_tests.py: 213 executable tests, 270 adapter-target tests.scripts/check_test_levels.py, the TaskNotes migration fixture check andbuild_runtime_pack.mjs(no diff).The reference runtime passes the new fixtures (357 of 359; the two pending fixtures were pending before).