@stravica-ai/digital-operator-pa 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +170 -0
  3. package/bin/desk +9 -0
  4. package/bin/distill +2 -0
  5. package/bin/estate-sync +2 -0
  6. package/bin/launch +2 -0
  7. package/bin/memory-sync +2 -0
  8. package/bin/migrate-inspect +2 -0
  9. package/bin/pa +2 -0
  10. package/bin/pa-coordinator-hook +2 -0
  11. package/bin/pa-init +2 -0
  12. package/bin/research +2 -0
  13. package/bin/scheduler +2 -0
  14. package/bin/secrets +2 -0
  15. package/bin/slice +2 -0
  16. package/bin/smoke +9 -0
  17. package/bin/sync +2 -0
  18. package/dist/engineering-pa-cli/README.md +205 -0
  19. package/dist/engineering-pa-cli/bin/estate-sync +2 -0
  20. package/dist/engineering-pa-cli/bin/launch +2 -0
  21. package/dist/engineering-pa-cli/bin/pa +2 -0
  22. package/dist/engineering-pa-cli/bin/pa-coordinator-hook +12 -0
  23. package/dist/engineering-pa-cli/bin/research +2 -0
  24. package/dist/engineering-pa-cli/bin/scheduler +2 -0
  25. package/dist/engineering-pa-cli/bin/secrets +2 -0
  26. package/dist/engineering-pa-cli/bin/smoke +9 -0
  27. package/dist/engineering-pa-cli/bin/sync +2 -0
  28. package/dist/engineering-pa-cli/config/coordinator-allowlist.json +118 -0
  29. package/dist/engineering-pa-cli/docs/coordinator-hook.md +211 -0
  30. package/dist/engineering-pa-cli/docs/estate-sync.md +412 -0
  31. package/dist/engineering-pa-cli/docs/gsc.md +175 -0
  32. package/dist/engineering-pa-cli/docs/lint-linkedin.md +139 -0
  33. package/dist/engineering-pa-cli/docs/secrets.md +221 -0
  34. package/dist/engineering-pa-cli/docs/smoke.md +113 -0
  35. package/dist/engineering-pa-cli/docs/staging-alias.md +114 -0
  36. package/dist/engineering-pa-cli/index.mjs +17 -0
  37. package/dist/engineering-pa-cli/package.json +37 -0
  38. package/dist/engineering-pa-cli/src/autonomy/cli.mjs +329 -0
  39. package/dist/engineering-pa-cli/src/autonomy/envelope.mjs +301 -0
  40. package/dist/engineering-pa-cli/src/coordinator-hook/cli.mjs +140 -0
  41. package/dist/engineering-pa-cli/src/coordinator-hook/config.mjs +134 -0
  42. package/dist/engineering-pa-cli/src/coordinator-hook/message.mjs +47 -0
  43. package/dist/engineering-pa-cli/src/coordinator-hook/policy.mjs +211 -0
  44. package/dist/engineering-pa-cli/src/coordinator-hook/repo-root.mjs +44 -0
  45. package/dist/engineering-pa-cli/src/coordinator-hook/self.mjs +30 -0
  46. package/dist/engineering-pa-cli/src/environment/cli.mjs +287 -0
  47. package/dist/engineering-pa-cli/src/environment/probes.mjs +302 -0
  48. package/dist/engineering-pa-cli/src/gsc/auth.mjs +148 -0
  49. package/dist/engineering-pa-cli/src/gsc/cli.mjs +93 -0
  50. package/dist/engineering-pa-cli/src/gsc/cloudflare.mjs +318 -0
  51. package/dist/engineering-pa-cli/src/gsc/commands/add-property.mjs +70 -0
  52. package/dist/engineering-pa-cli/src/gsc/commands/list-properties.mjs +33 -0
  53. package/dist/engineering-pa-cli/src/gsc/commands/pull-analytics.mjs +130 -0
  54. package/dist/engineering-pa-cli/src/gsc/commands/submit-sitemap.mjs +41 -0
  55. package/dist/engineering-pa-cli/src/gsc/commands/verify-via-cf-dns.mjs +189 -0
  56. package/dist/engineering-pa-cli/src/knowledge/call-log.mjs +59 -0
  57. package/dist/engineering-pa-cli/src/knowledge/cli.mjs +242 -0
  58. package/dist/engineering-pa-cli/src/knowledge/eval.mjs +446 -0
  59. package/dist/engineering-pa-cli/src/knowledge/formatters.mjs +331 -0
  60. package/dist/engineering-pa-cli/src/knowledge/graph.mjs +710 -0
  61. package/dist/engineering-pa-cli/src/launch/README.md +214 -0
  62. package/dist/engineering-pa-cli/src/launch/cli.mjs +51 -0
  63. package/dist/engineering-pa-cli/src/launch/commands/launch.mjs +106 -0
  64. package/dist/engineering-pa-cli/src/launch/identity.mjs +43 -0
  65. package/dist/engineering-pa-cli/src/launch/planner.mjs +44 -0
  66. package/dist/engineering-pa-cli/src/launch/repo-root.mjs +53 -0
  67. package/dist/engineering-pa-cli/src/launch/runner.mjs +147 -0
  68. package/dist/engineering-pa-cli/src/launch/task-loader.mjs +85 -0
  69. package/dist/engineering-pa-cli/src/lint/cli.mjs +61 -0
  70. package/dist/engineering-pa-cli/src/lint/commands/linkedin.mjs +133 -0
  71. package/dist/engineering-pa-cli/src/lint/detectors.mjs +90 -0
  72. package/dist/engineering-pa-cli/src/lint/linter.mjs +69 -0
  73. package/dist/engineering-pa-cli/src/lint/reporter.mjs +32 -0
  74. package/dist/engineering-pa-cli/src/lint/rules.mjs +132 -0
  75. package/dist/engineering-pa-cli/src/pa/cli.mjs +369 -0
  76. package/dist/engineering-pa-cli/src/pa/doc-groups.mjs +164 -0
  77. package/dist/engineering-pa-cli/src/pa/io.mjs +80 -0
  78. package/dist/engineering-pa-cli/src/pa/project-cli.mjs +385 -0
  79. package/dist/engineering-pa-cli/src/pa/projects.mjs +352 -0
  80. package/dist/engineering-pa-cli/src/pa/repo-root.mjs +64 -0
  81. package/dist/engineering-pa-cli/src/pa/session.mjs +254 -0
  82. package/dist/engineering-pa-cli/src/pa/work-cli.mjs +164 -0
  83. package/dist/engineering-pa-cli/src/pa/work.mjs +196 -0
  84. package/dist/engineering-pa-cli/src/pa/workstreams.mjs +201 -0
  85. package/dist/engineering-pa-cli/src/research/README.md +360 -0
  86. package/dist/engineering-pa-cli/src/research/briefs/extractor.md +103 -0
  87. package/dist/engineering-pa-cli/src/research/briefs/searcher.md +113 -0
  88. package/dist/engineering-pa-cli/src/research/briefs/synthesizer.md +124 -0
  89. package/dist/engineering-pa-cli/src/research/briefs/verifier.md +86 -0
  90. package/dist/engineering-pa-cli/src/research/cli.mjs +141 -0
  91. package/dist/engineering-pa-cli/src/research/commands/gates.mjs +176 -0
  92. package/dist/engineering-pa-cli/src/research/commands/list.mjs +56 -0
  93. package/dist/engineering-pa-cli/src/research/commands/mark.mjs +97 -0
  94. package/dist/engineering-pa-cli/src/research/commands/paths.mjs +69 -0
  95. package/dist/engineering-pa-cli/src/research/commands/prune.mjs +86 -0
  96. package/dist/engineering-pa-cli/src/research/commands/run.mjs +94 -0
  97. package/dist/engineering-pa-cli/src/research/commands/show.mjs +43 -0
  98. package/dist/engineering-pa-cli/src/research/docs/operator-present-flow.md +120 -0
  99. package/dist/engineering-pa-cli/src/research/format.mjs +59 -0
  100. package/dist/engineering-pa-cli/src/research/promote.mjs +260 -0
  101. package/dist/engineering-pa-cli/src/research/schema/finding.schema.json +55 -0
  102. package/dist/engineering-pa-cli/src/research/schema/gates.schema.json +34 -0
  103. package/dist/engineering-pa-cli/src/research/schema/manifest.schema.json +59 -0
  104. package/dist/engineering-pa-cli/src/research/schema/plan.schema.json +41 -0
  105. package/dist/engineering-pa-cli/src/research/schema/sources.schema.json +31 -0
  106. package/dist/engineering-pa-cli/src/research/store/findings.mjs +61 -0
  107. package/dist/engineering-pa-cli/src/research/store/gates.mjs +73 -0
  108. package/dist/engineering-pa-cli/src/research/store/index.mjs +312 -0
  109. package/dist/engineering-pa-cli/src/research/store/manifest.mjs +56 -0
  110. package/dist/engineering-pa-cli/src/research/store/plan.mjs +59 -0
  111. package/dist/engineering-pa-cli/src/research/store/sources.mjs +44 -0
  112. package/dist/engineering-pa-cli/src/research/store/validate.mjs +92 -0
  113. package/dist/engineering-pa-cli/src/research/workflows/research-normal.js +573 -0
  114. package/dist/engineering-pa-cli/src/scheduler/cli.mjs +197 -0
  115. package/dist/engineering-pa-cli/src/secrets/cli.mjs +254 -0
  116. package/dist/engineering-pa-cli/src/secrets/commands/backup-template.mjs +67 -0
  117. package/dist/engineering-pa-cli/src/secrets/commands/backup.mjs +85 -0
  118. package/dist/engineering-pa-cli/src/secrets/commands/delete.mjs +58 -0
  119. package/dist/engineering-pa-cli/src/secrets/commands/find.mjs +36 -0
  120. package/dist/engineering-pa-cli/src/secrets/commands/get.mjs +49 -0
  121. package/dist/engineering-pa-cli/src/secrets/commands/init.mjs +69 -0
  122. package/dist/engineering-pa-cli/src/secrets/commands/list.mjs +37 -0
  123. package/dist/engineering-pa-cli/src/secrets/commands/rotate.mjs +46 -0
  124. package/dist/engineering-pa-cli/src/secrets/commands/set.mjs +123 -0
  125. package/dist/engineering-pa-cli/src/secrets/commands/status.mjs +146 -0
  126. package/dist/engineering-pa-cli/src/secrets/commands/vaults.mjs +57 -0
  127. package/dist/engineering-pa-cli/src/secrets/commands/verify.mjs +143 -0
  128. package/dist/engineering-pa-cli/src/secrets/vault.mjs +766 -0
  129. package/dist/engineering-pa-cli/src/smoke/checks.mjs +199 -0
  130. package/dist/engineering-pa-cli/src/smoke/cli.mjs +108 -0
  131. package/dist/engineering-pa-cli/src/smoke/commands/run.mjs +237 -0
  132. package/dist/engineering-pa-cli/src/smoke/runner.mjs +191 -0
  133. package/dist/engineering-pa-cli/src/staging-alias/cli.mjs +91 -0
  134. package/dist/engineering-pa-cli/src/staging-alias/cloudflare.mjs +380 -0
  135. package/dist/engineering-pa-cli/src/staging-alias/commands/list.mjs +36 -0
  136. package/dist/engineering-pa-cli/src/staging-alias/commands/set.mjs +188 -0
  137. package/dist/engineering-pa-cli/src/staging-alias/commands/status.mjs +113 -0
  138. package/dist/engineering-pa-cli/src/staging-alias/commands/unset.mjs +95 -0
  139. package/dist/engineering-pa-cli/src/staging-alias/sites.mjs +105 -0
  140. package/dist/engineering-pa-cli/src/sync/cli.mjs +151 -0
  141. package/dist/engineering-pa-cli/src/sync/git.mjs +149 -0
  142. package/dist/engineering-pa-cli/src/sync/lock.mjs +30 -0
  143. package/dist/engineering-pa-cli/src/sync/regenerated-artifacts.mjs +114 -0
  144. package/dist/engineering-pa-cli/src/sync/registry-scope.mjs +260 -0
  145. package/dist/engineering-pa-cli/src/sync/run.mjs +531 -0
  146. package/dist/engineering-pa-cli/src/sync/runner.mjs +62 -0
  147. package/dist/engineering-pa-cli/src/sync/runs-digest.mjs +138 -0
  148. package/dist/engineering-pa-core/README.md +60 -0
  149. package/dist/engineering-pa-core/bin/desk +9 -0
  150. package/dist/engineering-pa-core/bin/distill +2 -0
  151. package/dist/engineering-pa-core/bin/memory-sync +2 -0
  152. package/dist/engineering-pa-core/bin/slice +2 -0
  153. package/dist/engineering-pa-core/docs/autonomy-envelope-tracker.md +111 -0
  154. package/dist/engineering-pa-core/docs/blueprints/README.md +45 -0
  155. package/dist/engineering-pa-core/docs/blueprints/docker-services/blueprint.md +168 -0
  156. package/dist/engineering-pa-core/docs/blueprints/git-identity/blueprint.md +116 -0
  157. package/dist/engineering-pa-core/docs/blueprints/ideas/custom-workspace-views.md +9 -0
  158. package/dist/engineering-pa-core/docs/blueprints/ideas/knowledge-domain-patterns.md +15 -0
  159. package/dist/engineering-pa-core/docs/blueprints/ideas/office-integration.md +11 -0
  160. package/dist/engineering-pa-core/docs/blueprints/ideas/team-scaling.md +9 -0
  161. package/dist/engineering-pa-core/docs/blueprints/ideas/work-personal-separation.md +9 -0
  162. package/dist/engineering-pa-core/docs/blueprints/scheduled-distillation/blueprint.md +129 -0
  163. package/dist/engineering-pa-core/docs/blueprints/tool-integration/blueprint.md +110 -0
  164. package/dist/engineering-pa-core/docs/commands/init.md +159 -0
  165. package/dist/engineering-pa-core/docs/commands/schedule.md +98 -0
  166. package/dist/engineering-pa-core/docs/commands/upgrade.md +67 -0
  167. package/dist/engineering-pa-core/docs/entity-location-map.md +93 -0
  168. package/dist/engineering-pa-core/docs/knowledge-scaffold.md +121 -0
  169. package/dist/engineering-pa-core/docs/lock.md +155 -0
  170. package/dist/engineering-pa-core/docs/memory-sync.md +28 -0
  171. package/dist/engineering-pa-core/docs/pa-operating-model.md +457 -0
  172. package/dist/engineering-pa-core/docs/scheduling.md +35 -0
  173. package/dist/engineering-pa-core/docs/standards/README.md +24 -0
  174. package/dist/engineering-pa-core/docs/standards/briefing-contract.md +161 -0
  175. package/dist/engineering-pa-core/docs/standards/tooling.md +240 -0
  176. package/dist/engineering-pa-core/docs/tools/distill.md +230 -0
  177. package/dist/engineering-pa-core/docs/tools/memory-sync.md +98 -0
  178. package/dist/engineering-pa-core/docs/tools/scheduler.md +243 -0
  179. package/dist/engineering-pa-core/docs/tools/slice.md +150 -0
  180. package/dist/engineering-pa-core/docs/upstream-issue-filing.md +88 -0
  181. package/dist/engineering-pa-core/docs/working-directory.md +29 -0
  182. package/dist/engineering-pa-core/docs/workspace-operations.md +46 -0
  183. package/dist/engineering-pa-core/index.mjs +21 -0
  184. package/dist/engineering-pa-core/knowledge/README.md +53 -0
  185. package/dist/engineering-pa-core/knowledge/canonical/.gitkeep +0 -0
  186. package/dist/engineering-pa-core/knowledge/content-voice/README.md +64 -0
  187. package/dist/engineering-pa-core/knowledge/content-voice/banned-ai-tells-baseline.md +133 -0
  188. package/dist/engineering-pa-core/knowledge/content-voice/banned-ai-tells-shape.md +58 -0
  189. package/dist/engineering-pa-core/knowledge/content-voice/banned-ai-tells-taxonomy.md +33 -0
  190. package/dist/engineering-pa-core/knowledge/content-voice/content-pipeline-routing.md +58 -0
  191. package/dist/engineering-pa-core/knowledge/content-voice/new-tell-capture-procedure.md +40 -0
  192. package/dist/engineering-pa-core/knowledge/content-voice/voice-guide-shape.md +43 -0
  193. package/dist/engineering-pa-core/knowledge/delegation-dispatch/README.md +34 -0
  194. package/dist/engineering-pa-core/knowledge/delegation-dispatch/briefing-contract.md +77 -0
  195. package/dist/engineering-pa-core/knowledge/delegation-dispatch/delegation-modes.md +84 -0
  196. package/dist/engineering-pa-core/knowledge/delegation-dispatch/dispatch-envelope.md +238 -0
  197. package/dist/engineering-pa-core/knowledge/delegation-dispatch/task-groups-and-orchestrators.md +62 -0
  198. package/dist/engineering-pa-core/knowledge/delegation-dispatch/team-improvement-loop.md +48 -0
  199. package/dist/engineering-pa-core/knowledge/delegation-dispatch/tool-development-policy.md +48 -0
  200. package/dist/engineering-pa-core/knowledge/engineering-discipline/README.md +33 -0
  201. package/dist/engineering-pa-core/knowledge/engineering-discipline/blast-radius-and-safety.md +50 -0
  202. package/dist/engineering-pa-core/knowledge/engineering-discipline/investigate-root-causes.md +48 -0
  203. package/dist/engineering-pa-core/knowledge/engineering-discipline/role-ladder.md +57 -0
  204. package/dist/engineering-pa-core/knowledge/engineering-discipline/verify-runtime-behaviour.md +53 -0
  205. package/dist/engineering-pa-core/knowledge/engineering-discipline/worktree-isolation.md +50 -0
  206. package/dist/engineering-pa-core/knowledge/knowledge-memory/README.md +33 -0
  207. package/dist/engineering-pa-core/knowledge/knowledge-memory/claude-md-hygiene.md +47 -0
  208. package/dist/engineering-pa-core/knowledge/knowledge-memory/journal-and-self-improvement.md +53 -0
  209. package/dist/engineering-pa-core/knowledge/knowledge-memory/knowledge-retrieval-discipline.md +62 -0
  210. package/dist/engineering-pa-core/knowledge/knowledge-memory/librarian-synthesis-mandate.md +56 -0
  211. package/dist/engineering-pa-core/knowledge/knowledge-memory/staging-and-observations.md +58 -0
  212. package/dist/engineering-pa-core/knowledge/operator-interface/README.md +32 -0
  213. package/dist/engineering-pa-core/knowledge/operator-interface/communication-style.md +33 -0
  214. package/dist/engineering-pa-core/knowledge/operator-interface/escalation-and-correction.md +45 -0
  215. package/dist/engineering-pa-core/knowledge/operator-interface/push-back-discipline.md +42 -0
  216. package/dist/engineering-pa-core/knowledge/operator-interface/session-boot-and-end.md +56 -0
  217. package/dist/engineering-pa-core/knowledge/platform-tooling/README.md +37 -0
  218. package/dist/engineering-pa-core/knowledge/platform-tooling/desk-cli-reference.md +52 -0
  219. package/dist/engineering-pa-core/knowledge/platform-tooling/environment-awareness.md +91 -0
  220. package/dist/engineering-pa-core/knowledge/platform-tooling/mcp-servers-catalogue.md +52 -0
  221. package/dist/engineering-pa-core/knowledge/platform-tooling/pa-cli-reference.md +55 -0
  222. package/dist/engineering-pa-core/knowledge/platform-tooling/scheduling-and-launchd.md +56 -0
  223. package/dist/engineering-pa-core/knowledge/platform-tooling/tool-discovery-discipline.md +49 -0
  224. package/dist/engineering-pa-core/knowledge/platform-tooling/working-directory-vs-project-root.md +43 -0
  225. package/dist/engineering-pa-core/knowledge/platform-tooling/workspace-server.md +51 -0
  226. package/dist/engineering-pa-core/knowledge/raw/.gitkeep +0 -0
  227. package/dist/engineering-pa-core/knowledge/scaffold/domains.json +5 -0
  228. package/dist/engineering-pa-core/knowledge/schema/.gitkeep +0 -0
  229. package/dist/engineering-pa-core/knowledge/work-management/README.md +33 -0
  230. package/dist/engineering-pa-core/knowledge/work-management/desk-cli.md +84 -0
  231. package/dist/engineering-pa-core/knowledge/work-management/progress-md.md +48 -0
  232. package/dist/engineering-pa-core/knowledge/work-management/projects.md +64 -0
  233. package/dist/engineering-pa-core/knowledge/work-management/spawn-log.md +48 -0
  234. package/dist/engineering-pa-core/knowledge/work-management/work-items.md +67 -0
  235. package/dist/engineering-pa-core/package.json +26 -0
  236. package/dist/engineering-pa-core/roles/agent-ops/definition.md +79 -0
  237. package/dist/engineering-pa-core/roles/dispatch-briefer/definition.md +195 -0
  238. package/dist/engineering-pa-core/roles/librarian/definition.md +176 -0
  239. package/dist/engineering-pa-core/roles/pa/definition.md +93 -0
  240. package/dist/engineering-pa-core/roles/system-admin/definition.md +106 -0
  241. package/dist/engineering-pa-core/roles/tool-developer/definition.md +116 -0
  242. package/dist/engineering-pa-core/roles/writer/definition.md +130 -0
  243. package/dist/engineering-pa-core/schema/autonomy-envelope.schema.json +61 -0
  244. package/dist/engineering-pa-core/schema/project.json +114 -0
  245. package/dist/engineering-pa-core/schema/schedule.json +63 -0
  246. package/dist/engineering-pa-core/schema/work-item.json +92 -0
  247. package/dist/engineering-pa-core/src/config/pa-package-name.mjs +30 -0
  248. package/dist/engineering-pa-core/src/desk/cli.mjs +95 -0
  249. package/dist/engineering-pa-core/src/desk/commands.mjs +398 -0
  250. package/dist/engineering-pa-core/src/desk/format.mjs +84 -0
  251. package/dist/engineering-pa-core/src/desk/repo.mjs +172 -0
  252. package/dist/engineering-pa-core/src/desk/team-scope.mjs +142 -0
  253. package/dist/engineering-pa-core/src/distill/cli.mjs +112 -0
  254. package/dist/engineering-pa-core/src/distill/prereqs.mjs +171 -0
  255. package/dist/engineering-pa-core/src/distill/prompt.mjs +74 -0
  256. package/dist/engineering-pa-core/src/distill/run.mjs +230 -0
  257. package/dist/engineering-pa-core/src/distill/runner.mjs +86 -0
  258. package/dist/engineering-pa-core/src/distill/staging.mjs +59 -0
  259. package/dist/engineering-pa-core/src/knowledge/retrieval/backlink-indexer.mjs +154 -0
  260. package/dist/engineering-pa-core/src/knowledge/retrieval/graph-builder.mjs +186 -0
  261. package/dist/engineering-pa-core/src/knowledge/retrieval/index-builder.mjs +225 -0
  262. package/dist/engineering-pa-core/src/knowledge/retrieval/query.mjs +263 -0
  263. package/dist/engineering-pa-core/src/lock/lock.mjs +202 -0
  264. package/dist/engineering-pa-core/src/memory-sync/cli-support.mjs +12 -0
  265. package/dist/engineering-pa-core/src/memory-sync/cli.mjs +56 -0
  266. package/dist/engineering-pa-core/src/memory-sync/commands/pull.mjs +44 -0
  267. package/dist/engineering-pa-core/src/memory-sync/commands/push.mjs +46 -0
  268. package/dist/engineering-pa-core/src/memory-sync/mirror.mjs +114 -0
  269. package/dist/engineering-pa-core/src/memory-sync/repo.mjs +65 -0
  270. package/dist/engineering-pa-core/src/scheduler/detect.mjs +111 -0
  271. package/dist/engineering-pa-core/src/scheduler/host.mjs +38 -0
  272. package/dist/engineering-pa-core/src/scheduler/index.mjs +13 -0
  273. package/dist/engineering-pa-core/src/scheduler/install.mjs +854 -0
  274. package/dist/engineering-pa-core/src/scheduler/list.mjs +168 -0
  275. package/dist/engineering-pa-core/src/scheduler/remove.mjs +176 -0
  276. package/dist/engineering-pa-core/src/scheduler/verify.mjs +435 -0
  277. package/dist/engineering-pa-core/src/session-boot/autonomy-injection.mjs +84 -0
  278. package/dist/engineering-pa-core/src/slice/cli.mjs +139 -0
  279. package/dist/engineering-pa-core/src/slice/inputs.mjs +174 -0
  280. package/dist/engineering-pa-core/src/slice/prompt.mjs +94 -0
  281. package/dist/engineering-pa-core/src/slice/prompts/dave-boot.md +91 -0
  282. package/dist/engineering-pa-core/src/slice/run.mjs +334 -0
  283. package/dist/engineering-pa-core-extensions-atlassian/README.md +31 -0
  284. package/dist/engineering-pa-core-extensions-atlassian/index.mjs +9 -0
  285. package/dist/engineering-pa-core-extensions-atlassian/package.json +19 -0
  286. package/dist/engineering-pa-core-extensions-n8n/README.md +29 -0
  287. package/dist/engineering-pa-core-extensions-n8n/index.mjs +8 -0
  288. package/dist/engineering-pa-core-extensions-n8n/package.json +19 -0
  289. package/dist/engineering-pa-librarian/README.md +38 -0
  290. package/dist/engineering-pa-librarian/index.mjs +12 -0
  291. package/dist/engineering-pa-librarian/package.json +19 -0
  292. package/dist/engineering-pa-migrate-inspect/README.md +131 -0
  293. package/dist/engineering-pa-migrate-inspect/bin/migrate-inspect +2 -0
  294. package/dist/engineering-pa-migrate-inspect/package.json +21 -0
  295. package/dist/engineering-pa-migrate-inspect/src/age-key-migrate.mjs +83 -0
  296. package/dist/engineering-pa-migrate-inspect/src/cli.mjs +97 -0
  297. package/dist/engineering-pa-migrate-inspect/src/inspector.mjs +237 -0
  298. package/dist/engineering-pa-migrate-inspect/src/platforms/linux.mjs +87 -0
  299. package/dist/engineering-pa-migrate-inspect/src/platforms/macos.mjs +105 -0
  300. package/dist/engineering-pa-migrate-inspect/src/runner.mjs +87 -0
  301. package/dist/engineering-pa-runbook/README.md +103 -0
  302. package/dist/engineering-pa-runbook/package.json +18 -0
  303. package/dist/engineering-pa-runbook/reference/dex-template.runbook.json +66 -0
  304. package/dist/engineering-pa-runbook/reference/hq-dave.runbook.json +69 -0
  305. package/dist/engineering-pa-runbook/reference/smarthome01.runbook.json +92 -0
  306. package/dist/engineering-pa-runbook/schema/inspection.schema.json +113 -0
  307. package/dist/engineering-pa-runbook/schema/runbook.schema.json +67 -0
  308. package/dist/engineering-pa-runbook/src/validator.mjs +167 -0
  309. package/dist/engineering-pa-scaffold/README.md +164 -0
  310. package/dist/engineering-pa-scaffold/bin/pa-init +2 -0
  311. package/dist/engineering-pa-scaffold/index.mjs +42 -0
  312. package/dist/engineering-pa-scaffold/package.json +22 -0
  313. package/dist/engineering-pa-scaffold/src/cli.mjs +115 -0
  314. package/dist/engineering-pa-scaffold/src/commands/init.mjs +169 -0
  315. package/dist/engineering-pa-scaffold/src/generator.mjs +354 -0
  316. package/dist/engineering-pa-scaffold/src/prompts.mjs +125 -0
  317. package/dist/engineering-pa-scaffold/src/runner.mjs +142 -0
  318. package/dist/engineering-pa-scaffold/templates/CLAUDE.md.template +196 -0
  319. package/dist/engineering-pa-scaffold/templates/operator-README.md.template +44 -0
  320. package/dist/engineering-pa-types-engineering/README.md +35 -0
  321. package/dist/engineering-pa-types-engineering/docs/commands/product-build.md +120 -0
  322. package/dist/engineering-pa-types-engineering/index.mjs +9 -0
  323. package/dist/engineering-pa-types-engineering/package.json +19 -0
  324. package/dist/engineering-pa-types-engineering/roles/product-engineer/definition.md +650 -0
  325. package/dist/engineering-pa-types-engineering/roles/product-engineer/templates/build-spec.md +82 -0
  326. package/dist/engineering-pa-types-engineering/roles/product-engineer/templates/preflight-checklist.md +158 -0
  327. package/dist/engineering-pa-types-engineering/roles/product-engineer/templates/worker-brief.md +130 -0
  328. package/dist/engineering-pa-workspace/README.md +197 -0
  329. package/dist/engineering-pa-workspace/app/assets/md.js +187 -0
  330. package/dist/engineering-pa-workspace/app/assets/modal.js +120 -0
  331. package/dist/engineering-pa-workspace/app/assets/theme.css +132 -0
  332. package/dist/engineering-pa-workspace/app/assets/theme.js +159 -0
  333. package/dist/engineering-pa-workspace/app/banner.js +320 -0
  334. package/dist/engineering-pa-workspace/app/delegations.html +345 -0
  335. package/dist/engineering-pa-workspace/app/home.html +1060 -0
  336. package/dist/engineering-pa-workspace/app/index.html +361 -0
  337. package/dist/engineering-pa-workspace/app/knowledge-map.html +163 -0
  338. package/dist/engineering-pa-workspace/app/knowledge.html +304 -0
  339. package/dist/engineering-pa-workspace/app/nav.json +75 -0
  340. package/dist/engineering-pa-workspace/app/notes.html +199 -0
  341. package/dist/engineering-pa-workspace/app/onboarding.html +592 -0
  342. package/dist/engineering-pa-workspace/app/profile.html +243 -0
  343. package/dist/engineering-pa-workspace/app/project-detail.html +432 -0
  344. package/dist/engineering-pa-workspace/app/projects.html +297 -0
  345. package/dist/engineering-pa-workspace/app/repos.html +598 -0
  346. package/dist/engineering-pa-workspace/app/schedules.html +486 -0
  347. package/dist/engineering-pa-workspace/app/secrets.html +164 -0
  348. package/dist/engineering-pa-workspace/app/staging.html +319 -0
  349. package/dist/engineering-pa-workspace/app/tasks.html +465 -0
  350. package/dist/engineering-pa-workspace/app/vendor/chart.umd.min.js +21 -0
  351. package/dist/engineering-pa-workspace/app/viewer.html +116 -0
  352. package/dist/engineering-pa-workspace/docs/DAEMON.md +104 -0
  353. package/dist/engineering-pa-workspace/docs/page-blueprint.md +286 -0
  354. package/dist/engineering-pa-workspace/docs/status-mon.md +168 -0
  355. package/dist/engineering-pa-workspace/index.mjs +12 -0
  356. package/dist/engineering-pa-workspace/nav.json.example +8 -0
  357. package/dist/engineering-pa-workspace/package.json +27 -0
  358. package/dist/engineering-pa-workspace/src/api.mjs +2086 -0
  359. package/dist/engineering-pa-workspace/src/install-daemon.mjs +573 -0
  360. package/dist/engineering-pa-workspace/src/nav.mjs +190 -0
  361. package/dist/engineering-pa-workspace/src/secrets-api.mjs +175 -0
  362. package/dist/engineering-pa-workspace/src/server.mjs +516 -0
  363. package/dist/engineering-pa-workspace/src/status-mon/poll.mjs +220 -0
  364. package/dist/engineering-pa-workspace/src/status-mon/poller.mjs +113 -0
  365. package/dist/engineering-pa-workspace/src/status-mon/run.mjs +133 -0
  366. package/dist/engineering-pa-workspace/src/supervisor.mjs +264 -0
  367. package/dist/engineering-pa-workspace/src/ws.mjs +633 -0
  368. package/index.mjs +60 -0
  369. package/package.json +58 -0
  370. package/templates/banned-ai-tells.md +102 -0
  371. package/templates/purpose.md +105 -0
  372. package/templates/voice-guide.md +98 -0
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@stravica-ai/digital-operator-pa",
3
+ "version": "0.1.0",
4
+ "description": "Digital Operator PA — single-bundled public package surface (bins + library) for the platform.",
5
+ "type": "module",
6
+ "main": "./index.mjs",
7
+ "exports": {
8
+ ".": "./index.mjs"
9
+ },
10
+ "bin": {
11
+ "pa": "bin/pa",
12
+ "desk": "bin/desk",
13
+ "launch": "bin/launch",
14
+ "estate-sync": "bin/estate-sync",
15
+ "sync": "bin/sync",
16
+ "secrets": "bin/secrets",
17
+ "scheduler": "bin/scheduler",
18
+ "smoke": "bin/smoke",
19
+ "distill": "bin/distill",
20
+ "memory-sync": "bin/memory-sync",
21
+ "migrate-inspect": "bin/migrate-inspect",
22
+ "pa-init": "bin/pa-init",
23
+ "slice": "bin/slice",
24
+ "research": "bin/research",
25
+ "pa-coordinator-hook": "bin/pa-coordinator-hook"
26
+ },
27
+ "files": [
28
+ "index.mjs",
29
+ "bin",
30
+ "dist",
31
+ "templates",
32
+ "README.md",
33
+ "LICENSE"
34
+ ],
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/Stravica/engineering-pa-dev.git",
39
+ "directory": "packages/engineering-pa"
40
+ },
41
+ "publishConfig": {
42
+ "registry": "https://registry.npmjs.org/",
43
+ "access": "public"
44
+ },
45
+ "dependencies": {
46
+ "google-auth-library": "^9.15.0",
47
+ "googleapis": "^144.0.0"
48
+ },
49
+ "engines": {
50
+ "node": ">=24"
51
+ },
52
+ "//": "test pins --test-isolation=none: default process-isolation mode silently undercounts (drops passed tests from totals) when a test awaits async work while stdout is patched by a capture() helper — see packages/cli/test/secrets. Counts must never lie.",
53
+ "scripts": {
54
+ "build": "node build.mjs",
55
+ "test": "node --test --test-isolation=none test/*.test.mjs",
56
+ "dry-publish": "node build.mjs && pnpm publish --dry-run --no-git-checks"
57
+ }
58
+ }
@@ -0,0 +1,102 @@
1
+ <!--
2
+ Template: banned-ai-tells.md
3
+ Owner: operator (adopt, populate, then remove this HTML comment)
4
+ Purpose: structural skeleton for an operator's banned-AI-tells doc.
5
+ Source: @stravica-ai/digital-operator-pa templates. See packages/engineering-pa/README.md.
6
+
7
+ This is the negative-shape complement to voice-guide.md. Voice-guide.md
8
+ says what the voice sounds like; this doc catalogues the shapes that
9
+ make text read as AI. Both docs are consumed together — a writer
10
+ drafts against the voice guide, then screens the draft against this
11
+ catalogue before shipping.
12
+ -->
13
+
14
+ # Banned AI-tells
15
+
16
+ **Status:** draft | in-review | live
17
+ **Last reviewed:** YYYY-MM-DD
18
+ **Owner:** operator name
19
+
20
+ ## Purpose
21
+
22
+ <!-- OPERATOR: replace with a one-paragraph purpose statement. Template
23
+ default:
24
+
25
+ This is a reference catalogue of shapes that make text read as AI-written
26
+ rather than operator-written. Categorised by the mechanism of the tell,
27
+ each entry carries a definition, illustrative examples, the reason the
28
+ shape reads as AI, and any context in which the shape is acceptable. A
29
+ writer consults this doc as the LAST screen before shipping — after the
30
+ voice guide's positive shape has done its work. -->
31
+
32
+ ## Category: <name>
33
+
34
+ <!-- OPERATOR: duplicate this section for each category. Suggested
35
+ starting categories (kept flexible — cull, split, or extend to match
36
+ your observed corpus):
37
+
38
+ - Journey-verbs (venture, embark, navigate)
39
+ - Effusive openers ("Great question", "That's a fascinating point")
40
+ - Forced contrasts ("not X, but Y" without a legitimate contrast)
41
+ - Bare-noun metaphors ("landscape", "ecosystem" without concrete referent)
42
+ - Meta-commentary ("this raises the question", "it's worth noting that")
43
+ - Ceremonial closes ("Ultimately", "In closing", ".")
44
+ - Faux-precision qualifiers ("in many ways", "to some extent")
45
+ - Overworked triads (three-item lists constructed for rhythm, not content)
46
+
47
+ For each category, populate the four fields below. Empty examples are
48
+ better than invented ones — the corpus grows as tells are observed, not
49
+ invented up front. -->
50
+
51
+ ### Definition
52
+
53
+ <!-- OPERATOR: one paragraph. What is the tell? What structural shape
54
+ does the reader detect? -->
55
+
56
+ ### Examples
57
+
58
+ <!-- OPERATOR: three to six real examples that a writer will recognise.
59
+ Prefer examples caught in operator drafts over hypothetical constructs —
60
+ recognition trumps taxonomy. Cite the source (staging observation ID or
61
+ commit) so provenance is traceable. -->
62
+
63
+ ### Why it reads as AI
64
+
65
+ <!-- OPERATOR: one paragraph. What signal does this shape carry? What
66
+ does its presence tell a reader about how the text was produced? Keep
67
+ the analysis honest — the point is not to shame LLMs but to describe
68
+ the pattern's effect on the reader's trust. -->
69
+
70
+ ### Context caveat
71
+
72
+ <!-- OPERATOR: some tells are context-scoped. A journey-verb in a
73
+ first-person narrative may be fine; the same verb in an analytical
74
+ essay is not. Note the contexts in which the tell is acceptable, if any.
75
+ If none, say "no exceptions" and move on. Avoid inventing exceptions to
76
+ soften the ban — the ban is the ban. -->
77
+
78
+ ## New-tell capture procedure
79
+
80
+ <!-- OPERATOR: keep the template default unless the operator's ingestion
81
+ process differs. Template default:
82
+
83
+ **New tells enter this doc via the librarian's synthesis sweep, not via
84
+ manual append.** An operator observes a tell (in their own writing or
85
+ someone else's), logs it as a staging observation with category
86
+ `voice-tell`, and moves on. On the next distillation sweep, the librarian:
87
+
88
+ 1. Reads the observation in full context (the source draft, the operator's
89
+ review comment).
90
+ 2. Decides whether it fits an existing category (extend that section's
91
+ examples + rationale) or warrants a new category (add a section,
92
+ restructure the surrounding categories if the new one changes the
93
+ taxonomy's shape).
94
+ 3. If restructuring materially changes the taxonomy, flags for operator
95
+ review — the librarian never silently reshapes the operator's tell
96
+ catalogue.
97
+ 4. Commits with the observation ID in the message so provenance is
98
+ traceable.
99
+
100
+ **Do not** treat this doc as a linear log. Every synthesis is a
101
+ restructure — the doc's shape reflects the CURRENT understanding of the
102
+ tell landscape, not the history of its capture. -->
@@ -0,0 +1,105 @@
1
+ <!--
2
+ Template: purpose.md
3
+ Owner: operator (adopt, populate, then remove this HTML comment)
4
+ Purpose: structural skeleton for a content-publishing purpose / mission doc.
5
+ Source: @stravica-ai/digital-operator-pa templates. See packages/engineering-pa/README.md.
6
+
7
+ This doc is the top of the mission stack. Every subordinate rule
8
+ (voice guide, banned tells, engagement guides) serves one of the
9
+ anchor goals below, or gets cut. When a subordinate rule surfaces a
10
+ hard case, the reader falls back to this doc for the tie-break.
11
+ -->
12
+
13
+ # Content-publishing purpose
14
+
15
+ **Status:** draft | in-review | live
16
+ **Last reviewed:** YYYY-MM-DD
17
+ **Owner:** operator name
18
+
19
+ ## Mission
20
+
21
+ <!-- OPERATOR: replace with a one-line mission summary. Not a slogan —
22
+ the operator's honest statement of what content publishing is for.
23
+ Example shape: "Make it easy for people who care about <domain> to find
24
+ the operator's work, judge it, and act on it." -->
25
+
26
+ ## Anchor goals
27
+
28
+ <!-- OPERATOR: replace with a numbered list of anchor goals. Every
29
+ subordinate rule serves one of these or gets cut. Four to seven anchors
30
+ is a healthy range — fewer and the mission is too abstract to
31
+ tie-break, more and the anchors overlap. Each anchor is one clause + one
32
+ sentence of what it means in practice.
33
+
34
+ 1. <Anchor name>. <One-sentence expansion — what does this look like when
35
+ it's working?>
36
+ 2. <Anchor name>. <One-sentence expansion.>
37
+ 3. <Anchor name>. <One-sentence expansion.>
38
+ 4. <Anchor name>. <One-sentence expansion.>
39
+ -->
40
+
41
+ ## What "success" looks like at scale
42
+
43
+ <!-- OPERATOR: replace with the north-star — what does the mission look
44
+ like when it's fully working? Not a metric. A picture. The kind of thing
45
+ that lets you tell whether a shipped piece of content moved the operator
46
+ towards the north star or sideways.
47
+
48
+ Example (Barry's operating instance): "Influencers writing their own
49
+ posts about the operator's work, without the operator prompting them.
50
+ The operator has become a reference point in the domain, not a self-
51
+ promoting voice."
52
+
53
+ Populate with the operator's own north star. -->
54
+
55
+ ## Downstream consequences
56
+
57
+ <!-- OPERATOR: replace with the operational implications of the mission.
58
+ These are the "if the mission is X, then Y" statements that shape
59
+ day-to-day decisions.
60
+
61
+ Examples:
62
+ - Cold audience → the post links out to the newsletter, not to a specific
63
+ concept page. First contact needs a low-commitment ramp.
64
+ - Warm audience → the post links to a specific concept page. Someone who
65
+ already knows the operator's terminology can go deep.
66
+ - Guest posts on other properties → link back to the operator's own
67
+ property, never to a paywall.
68
+
69
+ Populate with the consequences your mission actually implies. Cut any
70
+ that feel invented rather than derived. -->
71
+
72
+ ## Scope fence
73
+
74
+ <!-- OPERATOR: replace with what this mission does NOT cover. Explicit
75
+ non-goals shorten future debates.
76
+
77
+ Examples:
78
+ - This mission does NOT cover paid ads. If the operator runs ads, they
79
+ serve a different mission with different rules.
80
+ - This mission does NOT cover internal comms (Slack, email newsletters
81
+ to existing customers). Those are relationship maintenance, not
82
+ audience acquisition.
83
+ - This mission does NOT cover conference talks. Talks are a different
84
+ surface with different economics.
85
+
86
+ Populate with the operator's actual non-goals. Better to over-fence at
87
+ the start than under-fence. -->
88
+
89
+ ## Review + refresh cadence
90
+
91
+ <!-- OPERATOR: replace with the operator's review discipline. Template
92
+ default:
93
+
94
+ **Quarterly review**, or immediately after any of:
95
+
96
+ - A shift in the operator's business model (new product line, new
97
+ audience, spun-off property).
98
+ - A shift in the platform landscape that materially changes the
99
+ audience economics (an algorithm change that reshapes engagement,
100
+ a new platform gaining traction, an old platform losing traction).
101
+ - A material miss on one of the anchor goals — if the mission says X
102
+ and the shipped content is not producing X, the mission or the
103
+ execution is wrong. Diagnose which before shipping the next batch.
104
+
105
+ Change this section only if the operator's review discipline differs. -->
@@ -0,0 +1,98 @@
1
+ <!--
2
+ Template: voice-guide.md
3
+ Owner: operator (adopt, populate, then remove this HTML comment)
4
+ Purpose: structural skeleton for an operator's voice-guide doc.
5
+ Source: @stravica-ai/digital-operator-pa templates. See packages/engineering-pa/README.md.
6
+
7
+ This template ships the SHAPE. Every `<!-- OPERATOR: … -->` marker is a
8
+ spot where you replace the guidance with your own content. Do not
9
+ invent extra sections without a reason — the shape is what makes voice
10
+ guides mutually intelligible across operators.
11
+ -->
12
+
13
+ # Voice guide
14
+
15
+ **Status:** draft | in-review | live
16
+ **Last reviewed:** YYYY-MM-DD
17
+ **Owner:** operator name
18
+
19
+ ## Who this voice belongs to
20
+
21
+ <!-- OPERATOR: replace with a one-line operator identity — the person or
22
+ brand whose voice this doc describes. Not the writer role's identity;
23
+ the human whose voice the writer reproduces. -->
24
+
25
+ ## Voice principles
26
+
27
+ <!-- OPERATOR: replace with 4-8 positive-shape principles. Each principle
28
+ describes what the voice SOUNDS LIKE, not what it avoids. Bans belong in
29
+ banned-ai-tells.md. Examples of positive shape: "concrete before
30
+ abstract", "load-bearing verbs, plain nouns", "one clause of praise, then
31
+ the substance". Each principle carries an example that a writer can hold
32
+ in their head while drafting. -->
33
+
34
+ ## Voice tests
35
+
36
+ <!-- OPERATOR: replace with a short checklist an author runs against a
37
+ draft before shipping. This is the runtime discipline — principles are
38
+ the aim, tests are the enforcement. Keep the list to items an author can
39
+ actually check in ~2 minutes. Examples: "read the opening aloud — does
40
+ it sound like something you would say?", "count the em-dashes — >3 per
41
+ paragraph means restructure", "any banned tell present? consult
42
+ banned-ai-tells.md". -->
43
+
44
+ ## Structural rules
45
+
46
+ <!-- OPERATOR: replace with structural conventions specific to your voice.
47
+ Character counts, paragraph shape, section shape. Keep these soft — hard
48
+ bans are in banned-ai-tells.md. Examples: "LinkedIn posts land at 900-1200
49
+ chars", "articles open with a specific concrete situation, not a
50
+ generalised framing", "no headings above H2 inside articles". Anything
51
+ that's testable by a linter goes in the lint corpus, not here — this doc
52
+ is for the human. -->
53
+
54
+ ## Register calibration
55
+
56
+ <!-- OPERATOR: replace with the judgment factors that shape register
57
+ across contexts. Peer vs cold, warm vs formal, replying vs originating.
58
+ Not prescriptive patterns — the factors a writer weighs and the
59
+ directions those factors push. Example: "replying to a peer you've
60
+ spoken to before: assume mutual context, drop the setup; replying to a
61
+ cold post from someone outside your industry: one line of context first".
62
+ This section teaches judgment, not rules. -->
63
+
64
+ ## Reference material
65
+
66
+ <!-- OPERATOR: replace with links to the two companion docs and any
67
+ in-scope evidence. The voice guide is the METHOD; the reference docs are
68
+ the material.
69
+
70
+ - `banned-ai-tells.md` — hard bans and the taxonomy of AI-tells to
71
+ avoid. This is the negative-shape complement to this doc's principles.
72
+ - `purpose.md` — the content-publishing mission. Every voice decision
73
+ ultimately serves the mission; that's the doc a writer reads when a
74
+ register decision doesn't have an obvious answer.
75
+
76
+ Add operator-specific evidence links if useful — past shipped posts, a
77
+ tell-evolution log, competitive references. -->
78
+
79
+ ## How to update this doc
80
+
81
+ <!-- OPERATOR: replace with the operator's own synthesis discipline. The
82
+ default methodology, unchanged from the template, is:
83
+
84
+ **Synthesis, not append.** A new finding does NOT get bulleted at the
85
+ bottom of a section. Read the whole affected section, understand where
86
+ the finding fits into its argument, restructure the section so the new
87
+ finding is baked in rather than tacked on. If restructuring materially
88
+ changes the section's argument shape, flag for operator review — do not
89
+ silently rewrite the operator's voice.
90
+
91
+ **Sourcing.** Every restructure should reference the observation(s) that
92
+ prompted it in the commit message, so `git log -p voice-guide.md` remains
93
+ readable as a document evolution.
94
+
95
+ **Cadence.** This doc is reviewed on every distillation sweep. The
96
+ librarian is the maintainer; the operator is the final arbiter of voice.
97
+
98
+ Change this section only if the operator's synthesis process differs. -->