Skip to content

id: design+PoC: sticky-notes / did-it tracker — the first ID app #2031

Open

Description

@dezren39

LIST 7 synthesis. Merge the data-model and trust investigations into the design + a proof of concept of the first ID app: distributed sticky notes (a fancy distributed Google Keep) fused with the did-it tracker. PoC bar: two identities exchange notes and did-it events; one identity's view correctly excludes a third party's claims while keeping them retrievable on demand. Do not build the permanent feature on the PoC without a review round.

Program: Drew's 2026-10-28 directive (full text: hatch-personal memory/topics/id-program-2026-10-28.md).
Working pattern: parallel investigations, then the named synthesis issue merges them into a full design. Route guidance: Workhorse by default; Specialist/Summit for synthesis and ramification-heavy work. A result that says "done" is not the endpoint — the orchestrator reviews it and may commission another round. Deliverables: a markdown design/investigation doc (mermaid/SVG diagrams welcome) linked from this issue, plus follow-up issues for anything buildable. Build a proof of concept where the design calls for one, but do NOT build the permanent feature on top of an unreviewed PoC.

Activity

  1. added
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    on Oct 29, 2026
  2. developing-today commented on Oct 29, 2026

    @developing-today
    Contributor
  3. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    Parent epic: #2056 — ID platform expansion (2026-10-28 directive).

  4. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  5. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    Design record — issue #2031, first ID app (task 5727 triage)

    The decision to be made: how the first ID app — distributed sticky notes fused with the did-it tracker — is built on the current pkgs/id substrate, and in what order the pieces land so each is independently mergeable.

    Evidence at origin/main (3cbab2d, verified fresh this run)

    Options considered

    1. One big app PR — notes + tracker + trust view in a single build. Rejected: unreviewable, and it builds the permanent feature on an unreviewed PoC, which the issue body explicitly forbids.
    2. Library-first phases (recommended): (a) didit.* schema types + pure evaluator, library-only; (b) writer-set + view-projection per the id: design: writer-set + view-projection spec for pkgs/id — representation, set-change semantics, discovery query (from #2030) #2238 spec; (c) the PoC itself as an example + integration test on top of (a)+(b). Each phase merges alone and is testable without the next.
    3. PoC first, library later — a throwaway demo wired straight to the event store. Rejected: the demo's ad-hoc shapes would become the de-facto schema, contradicting the already-accepted id: investigate: did-it tracker data model — events, expectations, per-entity cardinality, details + later opinions #2029/id: design: writer-set + view-projection spec for pkgs/id — representation, set-change semantics, discovery query (from #2030) #2238 designs.

    Recommendation

    Option 2. The synthesis is mostly already decided by its inputs: four didit.* kinds (didit.entity, didit.record, didit.expectation, didit.opinion — #2029 doc D0), a pure evaluator (no stored due state, so it is offline- and multi-device-correct), sticky notes as document.put events in a shared group (title = first line; edits are superseding document events; removal is the existing removal kind), and the trust rule from #2030: ingest stores every validly signed object; a view counts only authors in its writer set; uncounted objects stay retrievable on demand and render with author + "not counted" status.

    Invariants the implementation must hold (the PoC bar, from the issue body)

    Phased implementation packets (enqueued this run, queue repo-health-code-pilot)

    1. repo-health:v1:fix:developing-today/code:issue:2031:didit-schema-evaluator — pkgs/id/src/didit/ schema types + pure evaluator + the id: investigate: did-it tracker data model — events, expectations, per-entity cardinality, details + later opinions #2029 doc §8 golden tests. Library-only.
    2. repo-health:v1:fix:developing-today/code:issue:2031:writer-set-view — writer-set object + view projection per the id: design: writer-set + view-projection spec for pkgs/id — representation, set-change semantics, discovery query (from #2030) #2238 spec: counted/uncounted projection, exclusion entries, set-version + frontier naming on computed views.
    3. repo-health:v1:fix:developing-today/code:issue:2031:poc-app — PoC under pkgs/id/examples/: sticky notes (document events) + did-it feed in one group timeline, with an integration test proving the PoC bar (two identities exchange; third party excluded from view, retrievable on demand). Depends on packets 1 and 2.

    Questions that genuinely need Drew (explicit, with recommendation — none blocks packet 1)

    🤖 Agent note · triaged

    • Agent: queue worker (repo-worker-code), lane D shift
    • Session / ID: task 5727
    • Found via: queue claim
    • Task: Design record for issue id: design+PoC: sticky-notes / did-it tracker — the first ID app #2031 posted above; phased packets enqueued (dedupe keys listed in the record).
    • Expectation: done — this triage closes with the record + packets; the issue itself stays open as the tracking home for the set.
  6. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    Correction + routing update (task 5727): the design record above listed phase-suffixed dedupe keys, which the queue's key patterns do not accept. Per the program rule that buildable slices are filed as their own issues, the phases were filed and enqueued per-issue instead:

    Phase Issue Queue task Dedupe key
    1 — didit schema + evaluator issue #3788 task 5774 repo-health:v1:fix:developing-today/code:issue:3788
    2 — writer-set + view projection issue #3789 task 5775 repo-health:v1:fix:developing-today/code:issue:3789
    3 — PoC app issue #3790 task 5776 repo-health:v1:fix:developing-today/code:issue:3790

    All three tasks are queued on repo-health-code-pilot with queue/queued on their issues; Phase 3's packet names its dependency on Phases 1 and 2. (Three identical packets briefly landed in the shadow queue through a missing --queue flag; they were cancelled and re-enqueued to the pilot queue in the same run — the task IDs above are the live pilot ones.)

  7. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

  8. 2 remaining items

  9. added a commit that references this issue on Nov 2, 2026
  10. added
    source/creatorFiled by the new-issue-creator job
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 3, 2026
  11. developing-today commented on Nov 3, 2026

    @developing-today
    Contributor

    agent-note:v1
    state: reviewed (coverage loop-back)
    Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 6821 (triage, queued, priority 50) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
    Found via: coverage loop-back 2026-11-03

  12. 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 3, 2026
  13. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

    Triage verdict — task 6821, verified at origin/main e425b6a (2026-11-03)

    The design deliverable of issue #2031 is complete; the issue stays open as the set's tracking home. Nothing here is blocked on a new decision:

    Issue #2031 closes when issue #3789 and issue #3790 land, per the task 5727 disposition — it is the tracking home, not a work item.

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)source/creatorFiled by the new-issue-creator jobtask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions