Repository navigation
Constructs together: the nine design questions from the combinations check - #67
Merged
Merged
Conversation
…n the calendar, @name anywhere, resolved issues stop coming back - Ledger: a record's price is left out when an event with an amount links to it (text or front matter); that event is the purchase. Inventory still values the thing by its price. - Collections include their sub-folders (recordsIn/inCollection), so inventory, records, contacts, organizations and places agree, in the CLI and the browser; `records` counts sub-folders with each collection. - Sidecars feed upcoming, reminders, calendar and .ics, count as backlinks in related, and put their file at a place (places[].files). - `@name` expands anywhere a query is taken (every view, MCP, browser search boxes), beside other terms; an unknown name is NOT_FOUND. - A resolved issue's open to-dos, reminders and rrule repeats leave todos, upcoming, reminders, calendar and .ics (todos --all still lists them); the browser timeline and entry page show its status, not `issue: open`. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XCVQuXXVJBEB4WExAcfQfD
A record's price is left out only when a linking event with an amount is its purchase: dated on the record's purchaseDate, or, without one, for exactly its price in the same currency. A service or repair that links to the thing with an amount of its own no longer hides its price. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XCVQuXXVJBEB4WExAcfQfD
- An edit keeps each file's own flow-list spacing ([bike] or [ bike ]); new files are written as before. - Write results (set, pin, edit, todo, done, close, move, restore, attach, remind, resolve, set on a sidecar) mask sealed fields as reads do; files --json masks a sidecar's sealed fields. - org's link part (`[Acme](...);Unit`) is a front matter link everywhere: related, backlinks, check, move (and move's relinked count). - A contact whose org names exactly one organization gets its orgPath. - Organizations list `supplied`: notes whose vendor links to them, in the CLI, JSON and the Organizations page. - records --csv says when it writes sealed fields as ciphertext. - Links in fields and to-dos show as their text in the CLI and the browser app (linked there); JSON keeps the value. - An event logged today (no time, or a time past) is not on the calendar, upcoming or the .ics: SPEC lists events dated ahead of today. - contacts --vcf writes sealed properties opened with a key, and says which it left out without one. - edit --text keeps the # Title heading unless the new text has one. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XCVQuXXVJBEB4WExAcfQfD
The two sets of fixes met in the integration test: the e-bike had moved into inventory/bikes/, and a resolved issue's to-dos now only show with todos --all and stay off Upcoming. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XCVQuXXVJBEB4WExAcfQfD
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
Before: the combinations check in #66 left nine places where constructs disagreed when used together. A purchase counted twice in the ledger. Things in sub-folders dropped out of views. A sidecar's
expires:never reached the calendar.@nameworked only on its own infind. A resolved issue's to-dos kept coming due. Edits reformatted lists. Write results carried ciphertext. Organization membership and links disagreed. There were also a few display nits.After:
priceis left out when its purchase event, the one with anamountthat links to it, is logged. The purchase is the linking event dated on the thing'spurchaseDate, or, when there's nopurchaseDate, the one whose amount equals the price in the same currency. A service event that links with its own amount leaves the price counted..ics. Its links count inrelatedandplaces.@nameexpands anywhere a query is accepted (CLI, MCP, every browser search box) and combines with other terms. An unknown name is aNOT_FOUNDerror..ics(todos --allstill lists them). The browser shows an Open or Resolved issue badge instead of the raw field.[bike]stays[bike]and[ bike ]stays padded.--jsonand MCP).org: "[Acme](…);Unit"counts as a link everywhere.orgPathwhen exactly one organization has that name.supplied(things whosevendor:links to them).edit --textkeeps the# Titleunless the new text brings its own.Why
Jimmy asked to fix the design questions raised by the combinations check (#66).
How it was tested
make checkpasses (typecheck, tests, build,@gitroll/corebuild, audit): 414 pass, 0 fail, 1 skipped (the CI-only browser presence check), 0 vulnerabilities.test/ledger.test.ts,fields.test.ts,issues.test.tsandentities.test.ts.test/combinations.test.tsis extended. It now moves the e-bike intoinventory/bikes/and the garage intoplaces/home/, then checks every view.Anything a reviewer should look at closely
template_versionis unchanged.[a]and[ b ]takes the style of its first flow list.orgPathby name only looks innotes/organizations/.due,warrantyorexpiresfields stay on the calendar. Only to-dos, reminders and repeats are dropped.App.tsx: the diff is mostly re-indentation from a new saved-searches provider.git diff -wshows the real change.🤖 Generated with Claude Code
https://claude.ai/code/session_01XCVQuXXVJBEB4WExAcfQfD
Generated by Claude Code