Worker factory must hand minted worker the original intent via factory_init skill #116
Labels
No labels
blocked:children
blocked:commit-ready-failed
blocked:depends-231
blocked:depends-236
blocked:depends-237
blocked:depends-238
blocked:depends-239
blocked:gate-fetch
blocked:gate-fetch
blocked:gate-lint
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:no-procedure
blocked:preflight
blocked:verify-failed
bug
enhancement
feature-request
high-priority
in-progress
lint-cleanup
needs-decompose
needs-triage
ops-retry
ops-task
phase-5
quickfix
security/medium
self-building
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/mesh-seed#116
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Architecture Violation
worker_factory provisions workers but never hands off the original intent. The comment at line 370 says "Intent will be reissued for claiming" but this never happens.
Current Flow (Broken)
Correct Flow
Required Fix
Implement factory_init skill in worker_factory:
Implementation
factory_init Skill Contract
Impact
Without this fix:
References
🟡 PARTIALLY ADDRESSED — M009/S02: Capability Resolution in EphemeralWorker
Commit
705635ffixes one piece of the handoff:ephemeral_worker._execute_intent()now resolves intent-type capabilities (e.g.writing_task) to primitive IDs (e.g.writer_contract) before callingself.loader.get().What was fixed
_execute_intent()callsresolve_primitive_for_intent(capability)before loading the contractWhat remains
factory_initskill contract (as described in this issue) is not yet implementedfactory_init"Intent will be reissued for claiming") still reflects the current broken behaviorNext
⏸ Needs Decision
What needs to be decided?
blocked:needs-decisionlabel to route back to triage.Blocking factors:
Scope: small Risk: low Spec: partial Type: bug
Summary: Worker factory provisions workers via provision_worker but the original intent (e.g. 'write_article') never reaches the minted worker — it's returned in the factory response but nobody acts on it.
Suggestion: Add a factory_init internal function/skill in worker_factory that, after registering a new worker, directly spawns execution of the original_intent on the minted worker's capability channel — reuses existing WorkerSpawner or ephemeral worker path instead of re-emitting via backplane. The original_intent already flows through BidManager claim payloads and worker_factory responses; the handoff action is what's missing.
Rationale: Scope=small: only worker_factory/run.py needs the new skill logic and the provision_worker_v1 orchestration needs to invoke it after factory returns. Risk=low: data already flows (original_intent field in claim payloads, line 407 of worker_factory/run.py), the fix is additive and doesn't alter existing provisioning. Spec=partial: AGENTS.md mandates workers execute intents and factories define workers only, which this upholds, but factory_init as a named skill isn't documented. Type=bug: the current flow dead-ends after provisioning — the comment 'Handoff intent to spawned worker' at line 408/409 of run.py confirms this was intended but never implemented.
To unblock: Remove the
blocked:needs-decisionlabel. The triage will apply the appropriate outcome based on your choice above.Partially addressed by
705635f— removing blocked:needs-decision. Open if more work needed, close if the partial fix is enough.