You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
id: design: feature-object library attachment — runtime attach/detach of library behavior to entities without world recompilation #6003
Part of the worlds design program: #5955. Wave-2 follow-up from the prior-art research (Lane B item 20); parent topic issue: #5964. Research source: workspace/scratch/worlds-capabilities-brief-2026-11-04/prior-art-research.md.
Precedent
LambdaMOO feature objects are the library model Drew described, working since the '90s: create a feature object implementing reusable verbs, and any player object can attach it and gain those commands — libraries as runtime-attached objects, no recompilation of the consumer (https://www.moo.mud.org/moo-faq/lcore-getting-started.html).
Scope
Distinct from the taxonomy child of #5955 (attachment as classification: genre/game/entity/none) and from the DLL design (#5964: per-user functions): this is runtime attach/detach of library behavior to entities inside a running world.
Attach/detach semantics: who may attach (entity owner, world author), at what moment (tick boundary), what happens to in-flight invocations.
The attached library's capability footprint composes with the entity's and the world's ceilings — checked how, at attach time?
Detach and version change: state the library accumulated on the entity — kept, migrated, dropped?
Done looks like
A design note stating whether feature-object attachment is a v-next mechanism for us, and if so its semantics; if not, the recorded reason.
Agent: queue worker (repo-worker-code), lane bf419306-c4ef-470f-a553-beabf93239de
Session / ID: task 10369
Found via: queue claim
Task: issue #6003 remains OPEN. Its latest task comment says this same task was handed to the OpenCode execution lane, with a bound session expected; no matching PR exists. I did not duplicate triage or create a PR.
Expectation: resume if the OpenCode claimant completes/releases task 10369 or explicitly hands it to this lane. The task is parked for 30 minutes.
Links: #6003
Why parked, not worked: task 12427 is assigned to the OpenCode execution lane (progress.lane=opencode) and has no bound claimant session. This scheduled lane hands off rather than building a competing parallel triage.
Expectation: the assigned OpenCode claimant binds and drives task 12427 to a terminal state, recording the final issue verdict; the queue then creates the scoped small-fix follow-on. Parked 30 minutes.
\ud83e\udd16 Agent note \u00b7 handed off\n- Agent: repo queue worker, lane code-p (repo-worker-code)\n- Session / ID: cron repo-queue-worker-shift-p run 2026-11-08 18:57 CST; task 13815\n- Found via: claimed task 13815 this shift; execution-lane assignment returned opencode (lane row 5255)\n- Task: Claimed task 13815 (small_fix) for issue #6003 (attempt 2/3). Fresh check: issue #6003 is OPEN. No hard-stop labels (held / user/owned / do-not-merge / do-not-auto-edit) on the target. Handed off to the opencode claimant \u2014 the claimant launches the bound opencode session; this lane does not work it directly. Task 13815 parked 1200s in the same pass.\n- Expectation: claimant session drives task 13815 to a terminal state.\n- Links: task 13815 \u00b7 issue #6003\n
Activity
developing-today commentedon Nov 5, 2026
CODE-1669
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
🤖 Agent note · parked
Agent: queue worker (repo-worker-code), lane bf419306-c4ef-470f-a553-beabf93239de
Session / ID: task 10369
Found via: queue claim
Task: issue #6003 remains OPEN. Its latest task comment says this same task was handed to the OpenCode execution lane, with a bound session expected; no matching PR exists. I did not duplicate triage or create a PR.
Expectation: resume if the OpenCode claimant completes/releases task 10369 or explicitly hands it to this lane. The task is parked for 30 minutes.
Links: #6003
20 remaining items
developing-today commentedon Nov 8, 2026
🤖 Agent note · parked
335a5d1f-bfc1-4831-99ea-850c8939a727ses_e5e448a87c2ffeYt2tWATGkgxTorigin/main73294b076ed1e8999057ddc5510a00796bc707c3has no runtime behavior attach/detach API (pkgs/id/src/world/mod.rs:1998-2048is update/view/layout/records/snapshot/wants;world_compile.rs:206+compiles a wholeCompileSpec). The newer id: design: library typing & upload taxonomy — subtypes, entity attachment, DLL vs compile-in, libraries by URL #5969 library-attachment design is registry classification, not runtime behavior composition. Related design inputs id: research: Roc shared-library embedding reality check — what roc build library outputs actually exist #5995/id: design: hot-swap alternatives — Wasm-component instantiation vs process restart with compile cache vs interpreted behavior layer #5996/id: design: dynamic user functions — server-compiled DLLs, hot-swap into running worlds without world recompile #5964/id: design: capability model — requested vs discovered-used sets, registry listing, custom-compiled platforms #5958/id: research: per-function gas metering, timeouts, and the multithreading question for user functions #5966 remain open.progress.lane=opencode) and has no bound claimant session. This scheduled lane hands off rather than building a competing parallel triage.developing-today commentedon Nov 9, 2026
🤖 Agent note · handed off
opencodedeveloping-today commentedon Nov 9, 2026
\ud83e\udd16 Agent note \u00b7 handed off\n- Agent: repo queue worker, lane code-p (repo-worker-code)\n- Session / ID: cron repo-queue-worker-shift-p run 2026-11-08 18:57 CST; task 13815\n- Found via: claimed task 13815 this shift; execution-lane assignment returned opencode (lane row 5255)\n- Task: Claimed task 13815 (small_fix) for issue #6003 (attempt 2/3). Fresh check: issue #6003 is OPEN. No hard-stop labels (held / user/owned / do-not-merge / do-not-auto-edit) on the target. Handed off to the opencode claimant \u2014 the claimant launches the bound opencode session; this lane does not work it directly. Task 13815 parked 1200s in the same pass.\n- Expectation: claimant session drives task 13815 to a terminal state.\n- Links: task 13815 \u00b7 issue #6003\n
dezren39 commentedon Nov 9, 2026
dezren39 commentedon Nov 9, 2026
🤖 Agent note · handed off
opencodedezren39 commentedon Nov 9, 2026
🤖 Agent note · handed off