Skip to content

id: design: public-IP evidence (from #5683) #5877

Open

Description

@dezren39

Summary

Follow-on design ticket from #5683 — its decomposition sketch names this as a separate design, and the parent's acceptance requires these tickets to be filed and linked. Filed in the 2026-11-04 gap pass (WS-F) so the design work exists and can be prioritised on its own merits; implementation timing is a separate decision, possibly months out.

What this design must settle

Derivation, retention, and error modes of public-IP evidence — and the decisions IP evidence may and may not drive.

Context from the parent

The parent framework — Drew-ruled opt-in and framework-first — fixes how residency evidence, sanctions boundaries, and intranet mode are represented and enforced. The parent issue carries the surrounding decisions this ticket must not re-decide; where this ticket's answer would change a parent decision, record that explicitly rather than silently forking it.

Decision record expected

Close this design with a recorded decision (on this issue or in a doc/ record linked from it): the chosen shape, the alternatives rejected and why, and the invariants implementation must hold. If the design splits further, file the splits and link them here rather than growing this issue.

Relations

Parent: #5683. Programme: epic #2056. Filed by WS-F (2026-11-04 ID design gap & expansion pass).

Activity

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

    @developing-today
    Contributor
  3. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 5, 2026
  4. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  5. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    queue/claimedQueue worker lifecycle state
    and removed
    queue/claimedQueue worker lifecycle state
    status/parkedDeliberately paused with a recorded resume condition
    on Nov 5, 2026
  6. 1 remaining item

  7. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off (re-handoff)

  8. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor

    🤖 Agent note · handed off

  9. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    queue/claimedQueue worker lifecycle state
    and removed
    queue/claimedQueue worker lifecycle state
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    on Nov 5, 2026
  10. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor

    agent-note:v1
    task: 10279
    lane: code-u
    state: handed-off
    summary: Task 10279 claimed by lane code-u; execution-lane assignment returned opencode, so this task is handed off to the opencode claimant per the worker runbook §1b. Issue #5877 is OPEN with no hard-stop labels on fresh check; stale queue/parked + status/parked labels were replaced with queue/claimed + status/in-progress on claim (GitHub App route).
    next: opencode-claimant launches the bound opencode session for task 10279.

  11. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    task: 10279
    lane: openchamber-scheduled-lane (aea12c82-c5af-4e5a-9b66-f8e360f87177)
    state: picked-up
    summary: Claimed by the OpenChamber scheduled lane. Fresh GitHub read confirms issue #5877 is OPEN, with no linked PRs and no hard-stop labels.
    next: inspect parent #5683 and current-main design/code context; record triage scope and any ordering/blockers.

  12. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    agent-note:v1\ntask: 10279\nlane: openchamber-scheduled-lane (aea12c82-c5af-4e5a-9b66-f8e360f87177)\nstate: done\nsummary: Triage complete; issue #5877 remains open for its distinct public-IP evidence design deliverable.\nnext: design work stays on #5877; this queue task is complete.\n\n## Triage findings (verified 2026-11-05 against current main cc45860)\n\n- Issue #5877 is OPEN, has no linked PR, and has no hard-stop labels. Parent #5683 is also OPEN and requires an opt-in-only, framework-first design. The decomposition ticket is not superseded. PR search returned #3929 only because its branch contains "5877"; its body says it is for #786 and is unrelated.\n- Existing adjacent design: doc/2026-11-01_design_id3398.md treats relays as transport, not trusted residency evidence; direct-only mode does not certify the underlying Internet route. Existing doc/2026-11-04T06-40-00Z_feature_loc-capability.md names IP geolocation as coarse "ip" input and explicitly excludes a persistent location store; that user-location capability is not a residency-evidence decision.\n- Current code in pkgs/id/src/world_net.rs exposes a peer IP only for a selected direct-IP path (relay/custom paths yield none), for abuse handling. The current-main scan found no residency geolocation, provenance, or retention pipeline, and no decision record that resolves this ticket.\n\n## Route and ordering\n\nKeep #5877 open for a linked doc/ decision record; this is a design deliverable, not a code fix. The record should settle source derivation and trust (including proxy/relay/federation limits), known accuracy/error modes, raw-IP vs derived-result representation and retention, and which decisions IP evidence may drive alone versus in combination with declared evidence. Record alternatives and invariants, and preserve #5683's opt-in/default-off rule. Coordinate the evidence vocabulary and combination rule with sibling #5876; that is an ordering dependency for cross-evidence decisions, not a blocker to drafting IP-specific findings. No external blocker identified; no code tests apply.\n\n

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)queue/claimedQueue worker lifecycle statestatus/in-progressQueue worker lifecycle statetask/triageQueue packet kind: verify, reproduce, and route this itemwork/assignedQueue worker lifecycle state

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions