Skip to content

id: build: local topic links and backlink projection #3816

Closed

Description

@dezren39

Parent: #2048 (ID Zettelkasten design). Phase 2 — depends on #3814 (stable note identity/revision graph).

Add structured references and a rebuildable local graph projection over the stable note model from #3814. A stored reference names a logical target note ID, the authored surface/sigil, and optionally a pinned revision ID. Derive outgoing topic links and backlinks from the selected revision heads; generic tags remain labels/aliases rather than directed edges. Provide deterministic local queries for a note's links/backlinks and topic chain.

Scope: local-store data model/index/query and tests. No editor or phrase-resolution UI, no cross-store fan-out, no global index, and no duplicate of the friendly-name candidate resolver/PoC owned by #2259. Do not start before #3814 has landed; if claimed early, park with that resume condition. Keep all search results within the store/view the caller is authorized to read.

Acceptance:

  • Stored links use stable note IDs (optionally exact revision IDs); renames do not retarget them and the authored surface remains unchanged.
  • Backlinks are a deterministic derived inverse of the selected revisions, not separately mutable canonical state.
  • Concurrent note heads are represented explicitly; the query does not silently pick a head.
  • A reference to inaccessible content exposes only its stored surface/unresolved state, not target content or private existence metadata.
  • Tests cover duplicate names, rename, pinned revisions, concurrent heads, deterministic backlinks, and access-filtered results.

Activity

  1. added
    priority/highImportant and time-sensitive
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    effort/lLarge: multi-day or open-ended; expect staged check-ins
    on Nov 1, 2026
  2. developing-today commented on Nov 1, 2026

    @developing-today
    Contributor
  3. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    agent-note:v1 — queued, parent #2048 phase 2; queue task 5825, dedupe repo-health:v1:fix:developing-today/code:issue:3816. Resume only after #3814 lands; build stable-ID topic links and deterministic local backlinks, leaving phrase resolution to separately-owned #2259. Filed by repo-worker-code, OpenChamber scheduled lane, 2026-11-01T16:54Z.

  4. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    event: picked-up
    task: 5825 (repo-health-code-pilot, openchamber scheduled lane)
    state: claimed
    verified: #3816 is open; no related PR found. Its required dependency #3814 remains open and is actively held by queue task 5824 (queue/claimed, work/assigned, status/in-progress).
    next: park this task for 30 minutes; resume only after #3814 merges, then revalidate #3816 and ownership before implementation.

  5. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 1, 2026
  6. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    event: parked
    task: 5825 (repo-health-code-pilot, openchamber scheduled lane)
    state: parked for 30 minutes
    blocker: dependency #3814 is still open and actively held by queue task 5824; no implementation or competing PR started.
    resume: after #3814 merges, revalidate #3816, dependency state, hard-stop labels, and any newly appeared PR before creating a worktree.

  7. 182 remaining items

  8. dezren39 commented on Nov 2, 2026

    @dezren39
    MemberAuthor

    agent-note:v1

  9. dezren39 commented on Nov 2, 2026

    @dezren39
    MemberAuthor

    agent-note:v1 — parked (lane F, task 5825)

  10. dezren39 commented on Nov 2, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  11. dezren39 commented on Nov 2, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  12. added
    queue/claimedQueue worker lifecycle state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 2, 2026
  13. dezren39 commented on Nov 2, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up (resume) — merging PR #4131

  14. dezren39 commented on Nov 2, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done — PR #4131 merged

    • Agent: Lane E queue worker shift (repo-worker-code) · queue task 5825
    • Merged: PR feat(id): note.link events and the head-based backlink projection (#3816) #4131 squash-merged (merge commit b147695) — note.link structured references on stable note IDs (optional pinned revision), deterministic head-based outgoing-link/backlink projection in pkgs/id/src/note_links.rs, access-filtered results, plus the Phase 2 design record and the prune link-dependency fix.
    • Acceptance: dependency id: build: stable note identity and revision graph #3814 landed (PR feat(id): stable note identity and revision graph (#3814) #3908); stable-ID links with authored surface preserved; backlinks derived deterministically from selected revision heads; concurrent heads explicit; inaccessible targets expose only stored surface/unresolved state. Tests (prior verified checkpoint + PR record): note_links 10 passed; retention-pruning regression passes; duplicate-name/rename/pinned/concurrent-head cases are in the PR test suite.
    • Codex gate: P1 (design record) and P2 (prune link dependencies) both fixed in head 2ad5ce4, dispositions replied on-thread, fixes re-verified in the head source this shift; fresh Codex round on that head found no major issues. CI checks were still queued in the fleet runner backlog at merge time (standing merge authority applied on the laptop/Codex evidence).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)effort/lLarge: multi-day or open-ended; expect staged check-inskind/enhancementpriority/highImportant and time-sensitive

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions