Skip to content

pkgs/id crate split — step 1: extract id-caps (workspace + leaf foundation already landed as id-core) #4403

Open

Description

@dezren39

Crate split step 1 of 7 — from the merged design

Design: doc/2026-11-01T16-53-00Z_design_id_crate_split/2026-11-01T16-53-00Z_design_id_crate_split.md (merged as PR #3824, 2026-11-01). Tracking issue: #3447. Program: #3195 (build-time review; Drew's priority order — shipped-binary runtime performance first, build time second).

Scope (design, verbatim intent)

Design step 1: workspace skeleton, id-kernel, id-caps — convert pkgs/id to a workspace (facade package + members), pin shared versions in [workspace.dependencies], extract the leaves and the caps family, cutting seams 1, 2, 4, and 8.

Current state

ALREADY LANDED (2026-11-01, pre-design phase plan under #3447): the workspace conversion and the leaf extraction — as crates/id-core, via PR #3471 (queue task 5371, merged f54b043). Treat id-core as the landed leaf/kernel crate. REMAINING in this step: extract the caps family into id-caps per the design seams, on top of id-core.

Dependency — do not start early

Step 0: PR #3674 (queue task 5375, #3195 phase 1 — ci-check profile) merged and the step-0 baselines recorded on #3195. If this step's queue task is claimed before the dependency lands, park it with that reason.

Fuel canary (non-negotiable, every step): the FUEL_BUDGETS tables in pkgs/id/src/sandbox.rs must be byte-identical after this step; the fuel-tables diff is committed in the step PR. Any drift means behaviour changed and the step stops. Full verification protocol: design note §"Verification protocol".

Verification protocol (design, every step): one PR; main green throughout; the shipped binary is built by the same Nix derivations at every point (all three entry points: the sub-flake's id-web and id-lib, and default.nix); test count matches or exceeds the step-0 baseline with any delta named; cold check-build timing recorded on #3447 and #3195 with the laptop load noted. Heavy builds run under ~/tools/fleet-build-lock on the laptop (max 2 concurrent, CARGO_BUILD_JOBS = half the cores) — there is no load gate (Drew, 2026-11-02).

Activity

  1. added
    kind/performancePerformance problem or optimization
    priority/highImportant and time-sensitive
    queue/queuedHas a queued task in the Supabase agent queue
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    effort/lLarge: multi-day or open-ended; expect staged check-ins
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 2, 2026
  2. dezren39 commented on Nov 2, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

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

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  5. 107 remaining items

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

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  8. added
    queue/claimedQueue worker lifecycle state
    queue/queuedHas a queued task in the Supabase agent queue
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    on Nov 4, 2026
  9. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: fleet monitor
    • Session / ID: task 6294 (repo-fleet-monitor run 2026-11-05T15:32:18Z)
    • Found via: monitor reconciliation (Duty 1 claim/label divergence repair)
    • Task: Claim evaporated: task 6294 is queued and unclaimed in repo-health-code-pilot, but this issue still carried claimed labels. Labels reset to the truth (queue/queued + status/needs-triage). Checkpoint stage at evaporation: handed_off.
    • Expectation: The next lane claim picks task 6294 up from the queued state and posts a fresh pickup note.
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-insexpediteImportant - do this very soon, before anything not expeditedkind/performancePerformance problem or optimizationpriority/highImportant and time-sensitivequeue/queuedHas a queued task in the Supabase agent queuesource/creatorFiled by the new-issue-creator jobstatus/needs-triageNot yet triaged; needs a first looktask/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