{"_id":"@agentworkforce/persona-slack-relayfile-doctor","_rev":"3-09778a6dc8890eedb0471aa2d52ea175","name":"@agentworkforce/persona-slack-relayfile-doctor","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@agentworkforce/persona-slack-relayfile-doctor","version":"0.1.0","keywords":["agentworkforce","persona","slack","relayfile","cloud","debugging","writeback","sync"],"license":"MIT","_id":"@agentworkforce/persona-slack-relayfile-doctor@0.1.0","maintainers":[{"name":"khaliqgant","email":"khaliqgant@gmail.com"},{"name":"willwashburn","email":"will@agentrelay.com"}],"homepage":"https://github.com/AgentWorkforce/workforce#readme","bugs":{"url":"https://github.com/AgentWorkforce/workforce/issues"},"dist":{"shasum":"9e20a00b805961a6c88f518be0aa7d92345ac11d","tarball":"https://registry.npmjs.org/@agentworkforce/persona-slack-relayfile-doctor/-/persona-slack-relayfile-doctor-0.1.0.tgz","fileCount":6,"integrity":"sha512-1QsHeMiFIk5SuAUNKp2WF7DJJM0MSQmxPgFDCZ7FsUYMN1FMP/xqzqOLZW2TptFIcZRbdvjdrlTXWzBe0PS7dw==","signatures":[{"sig":"MEUCIQC7jE+1mCIS6/AlGiYKh6wm9rTDOeUO5eXZcWXNyDtgdQIgLsbqf+o2EgTqsQFkyacBKMfpf2C5Y84+smrmxli0UXE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25251},"main":"index.js","type":"module","types":"index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json","./persona.json":"./personas/slack-relayfile-doctor.json","./personas/slack-relayfile-doctor.json":"./personas/slack-relayfile-doctor.json"},"gitHead":"0489db410af1dd5f80bd2dc24cd6ae0979f68b31","scripts":{"test":"node --test test/persona.test.mjs"},"_npmUser":{"name":"khaliqgant","email":"khaliqgant@gmail.com"},"repository":{"url":"git+https://github.com/AgentWorkforce/workforce.git","type":"git","directory":"packages/persona-slack-relayfile-doctor"},"_npmVersion":"10.9.7","description":"AgentWorkforce slack-relayfile-doctor persona pack — a debugging specialist for the Slack ↔ relayfile ↔ cloud sync/writeback stack. Localizes a symptom to the right layer, confirms root cause with concrete evidence (mount state, the ops API, logs), and pr","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"agentworkforce":{"personas":"personas"},"_npmOperationalInternal":{"tmp":"tmp/persona-slack-relayfile-doctor_0.1.0_1780991710769_0.5837656473425339","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agentworkforce/persona-slack-relayfile-doctor","version":"0.1.1","keywords":["agentworkforce","persona","slack","relayfile","cloud","debugging","writeback","sync"],"license":"MIT","_id":"@agentworkforce/persona-slack-relayfile-doctor@0.1.1","maintainers":[{"name":"khaliqgant","email":"khaliqgant@gmail.com"},{"name":"willwashburn","email":"will@agentrelay.com"}],"homepage":"https://github.com/AgentWorkforce/workforce#readme","bugs":{"url":"https://github.com/AgentWorkforce/workforce/issues"},"dist":{"shasum":"64ba42f8b1731776c47c7d733d31be93d34df249","tarball":"https://registry.npmjs.org/@agentworkforce/persona-slack-relayfile-doctor/-/persona-slack-relayfile-doctor-0.1.1.tgz","fileCount":7,"integrity":"sha512-i+HsYj28ncdljTJapH3bA2qzTTFI31GhyLeZAR0hTpkD0GEmXAneJdC0un9GJczlBIrGJ+evnm+GwUez9UPqxw==","signatures":[{"sig":"MEUCIHHIPeN/TIVIom4Sw6/Vpe4xY1Df0mRaf97Ek1185e0aAiEAtMo3hUMXcOfdptfqvpGPUdzDuCIomIl5D28foyoEYG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentworkforce%2fpersona-slack-relayfile-doctor@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36027},"main":"index.js","type":"module","_from":"file:/home/runner/work/_temp/packs/agentworkforce-persona-slack-relayfile-doctor-0.1.1.tgz","types":"index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./package.json":"./package.json","./persona.json":"./personas/slack-relayfile-doctor.json","./personas/slack-relayfile-doctor.json":"./personas/slack-relayfile-doctor.json"},"scripts":{"test":"node --test test/persona.test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ffccc680-0b2a-4af5-b160-15e6b2029e98"}},"_resolved":"/home/runner/work/_temp/packs/agentworkforce-persona-slack-relayfile-doctor-0.1.1.tgz","_integrity":"sha512-i+HsYj28ncdljTJapH3bA2qzTTFI31GhyLeZAR0hTpkD0GEmXAneJdC0un9GJczlBIrGJ+evnm+GwUez9UPqxw==","repository":{"url":"git+https://github.com/AgentWorkforce/workforce.git","type":"git","directory":"packages/persona-slack-relayfile-doctor"},"_npmVersion":"11.16.0","description":"AgentWorkforce slack-relayfile-doctor persona pack — a debugging specialist for the Slack ↔ relayfile ↔ cloud sync/writeback stack. Localizes a symptom to the right layer, confirms root cause with concrete evidence (mount state, the ops API, logs), and pr","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"agentworkforce":{"personas":"personas"},"_npmOperationalInternal":{"tmp":"tmp/persona-slack-relayfile-doctor_0.1.1_1780991828849_0.3154409115451835","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agentworkforce/persona-slack-relayfile-doctor","version":"0.1.2","description":"AgentWorkforce slack-relayfile-doctor persona pack — a debugging specialist for the Slack ↔ relayfile ↔ cloud sync/writeback stack. Localizes a symptom to the right layer, confirms root cause with concrete evidence (mount state, the ops API, logs), and pr","type":"module","main":"index.js","types":"index.d.ts","agentworkforce":{"personas":"personas"},"exports":{".":{"types":"./index.d.ts","import":"./index.js","default":"./index.js"},"./persona.json":"./personas/slack-relayfile-doctor.json","./personas/slack-relayfile-doctor.json":"./personas/slack-relayfile-doctor.json","./package.json":"./package.json"},"keywords":["agentworkforce","persona","slack","relayfile","cloud","debugging","writeback","sync"],"license":"MIT","engines":{"node":">=18"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/AgentWorkforce/workforce.git","directory":"packages/persona-slack-relayfile-doctor"},"scripts":{"test":"node --test test/persona.test.mjs"},"_id":"@agentworkforce/persona-slack-relayfile-doctor@0.1.2","bugs":{"url":"https://github.com/AgentWorkforce/workforce/issues"},"homepage":"https://github.com/AgentWorkforce/workforce#readme","_integrity":"sha512-GqFjud3RU3JmC0JN90JbMeVi6VVFgKBO4NAujEiz74kI+YcyMTs1Y+euLK5EOvgVdWSLUaoHGPp8c3hmI5lIIw==","_resolved":"/home/runner/work/_temp/packs/agentworkforce-persona-slack-relayfile-doctor-0.1.2.tgz","_from":"file:/home/runner/work/_temp/packs/agentworkforce-persona-slack-relayfile-doctor-0.1.2.tgz","_nodeVersion":"22.14.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-GqFjud3RU3JmC0JN90JbMeVi6VVFgKBO4NAujEiz74kI+YcyMTs1Y+euLK5EOvgVdWSLUaoHGPp8c3hmI5lIIw==","shasum":"744909cb7786c28f694966f69269c98cb0a2874d","tarball":"https://registry.npmjs.org/@agentworkforce/persona-slack-relayfile-doctor/-/persona-slack-relayfile-doctor-0.1.2.tgz","fileCount":7,"unpackedSize":36083,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agentworkforce%2fpersona-slack-relayfile-doctor@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDoGKkjUIHFgw1hWwejTu7PTItYNvmhz8QoKI4EpyUvigIgCJhA2JK7BnVA3tUiGyQGK+fOi7hHWkAvBMVi2YnD3YU="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ffccc680-0b2a-4af5-b160-15e6b2029e98"}},"directories":{},"maintainers":[{"name":"khaliqgant","email":"khaliqgant@gmail.com"},{"name":"willwashburn","email":"will@agentrelay.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/persona-slack-relayfile-doctor_0.1.2_1781170467468_0.3855936292773692"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-09T07:55:10.612Z","modified":"2026-06-11T09:34:27.935Z","0.1.0":"2026-06-09T07:55:10.902Z","0.1.1":"2026-06-09T07:57:08.970Z","0.1.2":"2026-06-11T09:34:27.621Z"},"bugs":{"url":"https://github.com/AgentWorkforce/workforce/issues"},"license":"MIT","homepage":"https://github.com/AgentWorkforce/workforce#readme","keywords":["agentworkforce","persona","slack","relayfile","cloud","debugging","writeback","sync"],"repository":{"type":"git","url":"git+https://github.com/AgentWorkforce/workforce.git","directory":"packages/persona-slack-relayfile-doctor"},"description":"AgentWorkforce slack-relayfile-doctor persona pack — a debugging specialist for the Slack ↔ relayfile ↔ cloud sync/writeback stack. Localizes a symptom to the right layer, confirms root cause with concrete evidence (mount state, the ops API, logs), and pr","maintainers":[{"name":"khaliqgant","email":"khaliqgant@gmail.com"},{"name":"willwashburn","email":"will@agentrelay.com"}],"readme":"# @agentworkforce/persona-slack-relayfile-doctor\n\nA **debugging-specialist** AgentWorkforce persona for the Slack ↔ relayfile ↔\ncloud sync/writeback stack. Where `persona-slack-comms` is comms-only, this\npersona is the *engineer* for the integration pipeline: it localizes a symptom\nto the right layer, confirms the root cause with concrete evidence, and\nprescribes the fix to the owning repo.\n\n## When to use it\n\nSpin up `slack-relayfile-doctor` when an integration regression appears:\n\n- Inbound Slack messages stop reading down to disk (channel, thread, or DM).\n- An `<integration-event>` preview says `Message: unavailable` though the bytes\n  may be on disk.\n- An outbound writeback (channel post, thread reply, or DM) silently doesn't\n  deliver — no error, no dead-letter.\n- A mount wedges (`context deadline exceeded`, zero completed cycles).\n- Duplicate posts, or any \"it worked yesterday\" sync/writeback regression.\n\n## What it knows\n\nThe persona's playbook (`personas/slack-relayfile-doctor.md`) encodes:\n\n- **Topology** — the five layers (Slack → Nango → cloud TS worker → relayfile-mount\n  daemon → local mount → pear) and which repo owns each.\n- **Diagnostic toolkit** — reading `mount.log`/`state.json`, the relayfile **ops\n  API** recipe (`GET …/ops/<opId>`, with the required `X-Correlation-Id`) to read\n  a writeback's `lastError`, the event-injection log, and which `wrangler tail`\n  worker actually carries the error.\n- **Symptom → root cause → fix decision trees** — write-only-vs-mirror mounts,\n  bare-vs-suffixed channel ids, the preview two-shape gap, mount wedges, the\n  `missing_scope`/`im:write` 3-place fix, duplicate dispatch, and silent-send.\n- **Fix-to-layer matching** — never prescribe a Pear restart for a cloud-side bug,\n  or a cloud deploy for a mount-topology bug.\n\n## Layout\n\n```\npersonas/\n  slack-relayfile-doctor.json   # persona spec (id, skills, harness, model, memory)\n  slack-relayfile-doctor.md     # claudeMd playbook (source of truth for the knowledge)\nindex.js / index.d.ts           # compatibility export of the persona JSON\n```\n\nTrajectory memory is enabled via the persona's opt-in `memory.trajectories`\nfacet; curated diagnostic trajectories live under the workspace `.trajectories/`\ncorpus so the persona can retrieve past decision arcs (the \"why\").\n\n## Install\n\n```\nagentworkforce install @agentworkforce/persona-slack-relayfile-doctor\n```\n","readmeFilename":"README.md"}