Skip to content

id(world): F14.6 builder and moderator authority through session frames (F12.3 remainder) #835

Open

Description

@dezren39

What and why

Route builder and moderator authority through the session frames. Today the install and revoke frames do not carry a builder or moderator actor. Phase 12 (PR #801, F12.3) added the BUILDER/MODERATOR scope bits, invite --role builder|moderator, and the journal-only audit entries BuilderInstalled and Revoked { by }. But every caller passes by: None, so in practice a builder cannot install and a moderator cannot revoke over the wire, and the audit entries never appear. PR #801 lists "F12.3 install/revoke frame wiring" as remaining, and no issue tracks it.

Source

Current status

Partial. pkgs/id/src/world/handle.rs:489 (revoke → revoke_by(participant_id, None)) and :648 (install_program → install_program_by(..., None, ...)) are the only callers of the _by variants outside tests. world/actor.rs:1192-1195 journals BuilderInstalled only when an actor is passed. The session code in world_session/ never passes one.

Acceptance criteria

  • The install-module frame accepts a participant holding BUILDER and passes the actor to install_program_by
  • The revoke frame accepts a participant holding MODERATOR and passes the actor to revoke_by
  • Over a real session (not the handle API), a builder installs, a moderator revokes, and a plain guest is refused for both with the documented F11.13 code
  • Each use is journaled with its actor (BuilderInstalled, Revoked { by })
  • Builder still receives no network, file, or process authority (test)

Size

M

Prerequisites

Activity

  1. added a commit that references this issue on Oct 25, 2026
  2. added
    kind/featureNew feature or capability request
    source/humanFiled directly by a human
    priority/normalOrdinary priority (the default)
    effort/mMedium: expected under 1 day of work
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 26, 2026
  3. dezren39 commented on Oct 26, 2026

    @dezren39
    MemberAuthor

    Intake review

    Still live: verified on current main (a2eef6f) — pkgs/id/src/world/handle.rs:489 still calls revoke_by(participant_id, None) and :648 still calls install_program_by(..., None, ...); the session code in world_session/ passes no actor. The issue already carries a full acceptance-criteria section, so this pass only normalized labels — body untouched.

    Related: PR #801 (F12.3, merged — lists this wiring as remaining), #534 (epic), #227 (F11.12 journal-format prerequisite named in the issue — BuilderInstalled is a new journal entry type).

    Notes / risks: gated on #227 in practice: producing BuilderInstalled entries before the journal version contract covers them would create the format problem #227 exists to prevent. Sequence accordingly.

    Suggested approach: wire the actor through the two session frames once #227's contract covers the entry types; the over-a-real-session test in the criteria is the right verification shape.

    🤖 Fleet monitor intake enrichment — labels normalized and meta/enriched applied this pass (acceptance criteria already present).

  4. added
    nextOrg Project gate: queued next — orchestrator adds to the board
    on Oct 27, 2026
  5. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

    • Agent: repo-worker-code (openchamber scheduled lane)
    • Task: queue task 2259; revalidate authority frame wiring and ownership.
  6. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Nov 1, 2026
  7. 266 remaining items

  8. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    state: parked
    queue: repo-health-code-pilot
    task: 4858 (small_fix, worker repo-worker-code, lane 8ac61616-3815-4e7b-b33d-840a3829154a)
    by: openchamber-scheduled-lane
    at: 2026-11-04T02:18:30Z

    Parked 30 minutes because task-bound PR #4535 remains OPEN and the issue's current ownership notes identify it as Drew-authored/open draft. This lane did not inspect the PR, change code, or create competing work. Resume only after #4535 closes/merges or ownership is explicitly reassigned, then revalidate #835 and design gate #3826.

  9. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  10. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  11. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  12. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    {"kind":"handoff","task":4858,"lane":"code-v","execution_lane":"opencode","state":"parked","note":"task 4858 handed off to opencode claimant by lane code-v. Fresh revalidation: issue #835 OPEN; task-bound PR #4535 OPEN/DRAFT at e33a4e4, authored by Drew (dezren39) — ownership hard stop, PR/branch untouched, no competing work. Prior implementation preserved on branch queue/4858-835-session-authority. Resume only after PR #4535 closes/merges or Drew releases ownership."}

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

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  15. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

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/mMedium: expected under 1 day of workkind/featureNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedmode/onlineFully doable remotely: design, config, code, cloudnextOrg Project gate: queued next — orchestrator adds to the boardpriority/normalOrdinary priority (the default)queue/claimedQueue worker lifecycle statesource/humanFiled directly by a humanstatus/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