Build Toward the Whole: noteforge - #4
Merged
Merged
Conversation
… notes The folder reconciliation contract (docs/architecture/folder_reconciliation.md) resolves a file without noteforge_id through a prior export mapping, but the only producer of config.folderMappings was reconciliation apply itself. Save all notes to a folder wrote bare Markdown and recorded nothing, so every exported note came back from the planner as a title Conflict and the documented export, edit, reconcile round trip could not complete for existing notes. exportVaultToDir now returns the written files, folderMappingsAfterExport records one mapping per file through the same folderMapping shape the reconciliation service uses, and saveVaultToFolder wires both together from the lazy vault chunk so the initial shell stays inside its byte budget. A Node test covers the unedited, external only, internal only, and two sided cases. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01656XvdqNAVojSPQBtLZAAt
…d union The alias contract (docs/architecture/alias_link_integrity.md and frontmatter_properties.md) says leading YAML aliases become the Markdown source of truth after Phase 5 and that runtime resolution never keeps two independently editable alias stores. Phase5Controller instead unioned frontmatter aliases with note.aliases metadata on every reconcile, so an alias removed through Link tools alias repair, removed from the YAML in the editor, or dropped by deleting the frontmatter block was written straight back from the other store. The repair UI reported success while [[Old Name]] kept resolving. The reconcile now keeps the previous content and metadata signature per note and applies one rule: a Markdown only change makes frontmatter authoritative, a metadata only change (rename, alias repair) is mirrored into frontmatter, and first sight or a coordinated write keeps the documented merge so the legacy alias migration and the properties editor behave exactly as before. An emptied aliases list is removed from the YAML rather than left as a stale key. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01656XvdqNAVojSPQBtLZAAt
docs/implementation/performance_budgets.md declares a hard 257,180 byte ceiling for the initial shell, but every phase satisfied it by hand recording wc -c output in prose. Nothing in the repo or CI failed when the shell grew past the ceiling, which is exactly what happened during this audit when a small orchestration change landed in main.js and pushed the shell to 257,335 bytes with no signal. test/bundle-budget.mjs computes the same measurement the doc defines (index.html plus directly referenced CSS and JavaScript from dist/) and exits non zero above the ceiling. It runs as npm run test:budget, in test:all, and as a CI step after the build. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01656XvdqNAVojSPQBtLZAAt
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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.
Applies the Build Toward the Whole patch series.
Commits
Gate
npm test— passing locally on this branch.Not for merge yet.