chore: bump Workforce pins to 4.1.43 so the relayflows dep resolves honestly
Follow-up to #112, which Codex flagged as P1 — correctly.
The problem
#112 added @relayflows/core@^1.0.6, which declares:
@agentworkforce/persona-kit ^4.1.39
@agentworkforce/persona-registry ^4.1.39
while this repo's global override pinned persona-kit to 4.1.23. npm overrides suppress that incompatibility, so npm install succeeds while core/registry load against a persona-kit below their declared minimum — nothing fails until agent startup.
The change
Every @agentworkforce/* pin and the agentworkforce CLI: 4.1.23 → 4.1.43, in both dependencies and overrides, so no package is left resolving behind an override.
$ npm ls @relayflows/core @agentworkforce/persona-kit --depth=1
└─┬ @relayflows/core@1.0.6
├── @agentworkforce/persona-kit@4.1.43 deduped
└── @agentworkforce/persona-registry@4.1.43
Ranges satisfied rather than overridden.
The bump surfaced a real typing break
Which is rather the point of doing it. At 4.1.43, ctx.persona.id is unknown:
WorkforcePersonaContext extends Omit<PersonaSpec, 'inputs'>
PersonaSpec { …; [key: string]: unknown } // consumer-defined fields
Omit over an index signature collapses every declared field — id, description, intent — to unknown. aliasVariants in linear/agent.ts now takes unknown and narrows, which is also strictly safer than the old string | undefined signature that would have thrown on .trim() had a non-string ever arrived.
That collapse looks like an upstream typing defect worth fixing in runtime/persona-kit rather than worked around at every call site — any handler reading ctx.persona.<field> hits it. This PR only unblocks the one site here.
Verified
tsc --noEmit— 0 errorsnpm test— 250/250npm run compile— all 8 personas compile
Two caveats, both environmental
Neither is attributable to this change, and I'd rather flag them than imply a clean sweep:
npm testinitially failed 2/250 withENOENT workforce/packages/harness-kit/package.json.harness-kitwas deleted upstream (workforce451a5305) and my checkout retained an orphaned untrackeddist/.workforce-package-proof.mjsenumeratespackages/*and reads eachpackage.json, so the orphan breaks it. Moving the two orphan dirs (harness-kit,relay-helpers) aside gave 250/250; restored afterwards. Suggest the script skip directories without apackage.jsonso a stale checkout can't fail the suite.acceptance:composable-runtime-closureexits 1 after ~20s with no output. The globally installedagentworkforceCLI here is 4.1.22 against repo-local 4.1.43, and the harness invokes it. I couldn't attribute the failure to this change, so I'm leaving it for CI rather than claiming a pass I hadn't established.
🤖 Generated with Claude Code
Summary by cubic
Aligns all @agentworkforce/* pins and the agentworkforce CLI from 4.1.23 to 4.1.43 so @relayflows/core@^1.0.6 resolves against supported persona-kit/persona-registry versions instead of being masked by overrides. Updates linear/agent.ts to accept unknown for persona fields introduced by persona-kit@4.1.43; previously aliasVariants assumed a string and could throw, now it narrows safely.
Review notes
- Dependencies and
overridesboth pin@agentworkforce/*to4.1.43;npm lsshows@relayflows/core@1.0.6deduped to@agentworkforce/persona-kit@4.1.43and@agentworkforce/persona-registry@4.1.43. aliasVariants(value: unknown)adds a typeof check; behavior is unchanged for strings and returns[]for non-strings.- If running acceptance locally, upgrade your global
agentworkforceto4.1.43.