@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.
- package/LICENSE +21 -0
- package/README.md +170 -0
- package/bin/desk +9 -0
- package/bin/distill +2 -0
- package/bin/estate-sync +2 -0
- package/bin/launch +2 -0
- package/bin/memory-sync +2 -0
- package/bin/migrate-inspect +2 -0
- package/bin/pa +2 -0
- package/bin/pa-coordinator-hook +2 -0
- package/bin/pa-init +2 -0
- package/bin/research +2 -0
- package/bin/scheduler +2 -0
- package/bin/secrets +2 -0
- package/bin/slice +2 -0
- package/bin/smoke +9 -0
- package/bin/sync +2 -0
- package/dist/engineering-pa-cli/README.md +205 -0
- package/dist/engineering-pa-cli/bin/estate-sync +2 -0
- package/dist/engineering-pa-cli/bin/launch +2 -0
- package/dist/engineering-pa-cli/bin/pa +2 -0
- package/dist/engineering-pa-cli/bin/pa-coordinator-hook +12 -0
- package/dist/engineering-pa-cli/bin/research +2 -0
- package/dist/engineering-pa-cli/bin/scheduler +2 -0
- package/dist/engineering-pa-cli/bin/secrets +2 -0
- package/dist/engineering-pa-cli/bin/smoke +9 -0
- package/dist/engineering-pa-cli/bin/sync +2 -0
- package/dist/engineering-pa-cli/config/coordinator-allowlist.json +118 -0
- package/dist/engineering-pa-cli/docs/coordinator-hook.md +211 -0
- package/dist/engineering-pa-cli/docs/estate-sync.md +412 -0
- package/dist/engineering-pa-cli/docs/gsc.md +175 -0
- package/dist/engineering-pa-cli/docs/lint-linkedin.md +139 -0
- package/dist/engineering-pa-cli/docs/secrets.md +221 -0
- package/dist/engineering-pa-cli/docs/smoke.md +113 -0
- package/dist/engineering-pa-cli/docs/staging-alias.md +114 -0
- package/dist/engineering-pa-cli/index.mjs +17 -0
- package/dist/engineering-pa-cli/package.json +37 -0
- package/dist/engineering-pa-cli/src/autonomy/cli.mjs +329 -0
- package/dist/engineering-pa-cli/src/autonomy/envelope.mjs +301 -0
- package/dist/engineering-pa-cli/src/coordinator-hook/cli.mjs +140 -0
- package/dist/engineering-pa-cli/src/coordinator-hook/config.mjs +134 -0
- package/dist/engineering-pa-cli/src/coordinator-hook/message.mjs +47 -0
- package/dist/engineering-pa-cli/src/coordinator-hook/policy.mjs +211 -0
- package/dist/engineering-pa-cli/src/coordinator-hook/repo-root.mjs +44 -0
- package/dist/engineering-pa-cli/src/coordinator-hook/self.mjs +30 -0
- package/dist/engineering-pa-cli/src/environment/cli.mjs +287 -0
- package/dist/engineering-pa-cli/src/environment/probes.mjs +302 -0
- package/dist/engineering-pa-cli/src/gsc/auth.mjs +148 -0
- package/dist/engineering-pa-cli/src/gsc/cli.mjs +93 -0
- package/dist/engineering-pa-cli/src/gsc/cloudflare.mjs +318 -0
- package/dist/engineering-pa-cli/src/gsc/commands/add-property.mjs +70 -0
- package/dist/engineering-pa-cli/src/gsc/commands/list-properties.mjs +33 -0
- package/dist/engineering-pa-cli/src/gsc/commands/pull-analytics.mjs +130 -0
- package/dist/engineering-pa-cli/src/gsc/commands/submit-sitemap.mjs +41 -0
- package/dist/engineering-pa-cli/src/gsc/commands/verify-via-cf-dns.mjs +189 -0
- package/dist/engineering-pa-cli/src/knowledge/call-log.mjs +59 -0
- package/dist/engineering-pa-cli/src/knowledge/cli.mjs +242 -0
- package/dist/engineering-pa-cli/src/knowledge/eval.mjs +446 -0
- package/dist/engineering-pa-cli/src/knowledge/formatters.mjs +331 -0
- package/dist/engineering-pa-cli/src/knowledge/graph.mjs +710 -0
- package/dist/engineering-pa-cli/src/launch/README.md +214 -0
- package/dist/engineering-pa-cli/src/launch/cli.mjs +51 -0
- package/dist/engineering-pa-cli/src/launch/commands/launch.mjs +106 -0
- package/dist/engineering-pa-cli/src/launch/identity.mjs +43 -0
- package/dist/engineering-pa-cli/src/launch/planner.mjs +44 -0
- package/dist/engineering-pa-cli/src/launch/repo-root.mjs +53 -0
- package/dist/engineering-pa-cli/src/launch/runner.mjs +147 -0
- package/dist/engineering-pa-cli/src/launch/task-loader.mjs +85 -0
- package/dist/engineering-pa-cli/src/lint/cli.mjs +61 -0
- package/dist/engineering-pa-cli/src/lint/commands/linkedin.mjs +133 -0
- package/dist/engineering-pa-cli/src/lint/detectors.mjs +90 -0
- package/dist/engineering-pa-cli/src/lint/linter.mjs +69 -0
- package/dist/engineering-pa-cli/src/lint/reporter.mjs +32 -0
- package/dist/engineering-pa-cli/src/lint/rules.mjs +132 -0
- package/dist/engineering-pa-cli/src/pa/cli.mjs +369 -0
- package/dist/engineering-pa-cli/src/pa/doc-groups.mjs +164 -0
- package/dist/engineering-pa-cli/src/pa/io.mjs +80 -0
- package/dist/engineering-pa-cli/src/pa/project-cli.mjs +385 -0
- package/dist/engineering-pa-cli/src/pa/projects.mjs +352 -0
- package/dist/engineering-pa-cli/src/pa/repo-root.mjs +64 -0
- package/dist/engineering-pa-cli/src/pa/session.mjs +254 -0
- package/dist/engineering-pa-cli/src/pa/work-cli.mjs +164 -0
- package/dist/engineering-pa-cli/src/pa/work.mjs +196 -0
- package/dist/engineering-pa-cli/src/pa/workstreams.mjs +201 -0
- package/dist/engineering-pa-cli/src/research/README.md +360 -0
- package/dist/engineering-pa-cli/src/research/briefs/extractor.md +103 -0
- package/dist/engineering-pa-cli/src/research/briefs/searcher.md +113 -0
- package/dist/engineering-pa-cli/src/research/briefs/synthesizer.md +124 -0
- package/dist/engineering-pa-cli/src/research/briefs/verifier.md +86 -0
- package/dist/engineering-pa-cli/src/research/cli.mjs +141 -0
- package/dist/engineering-pa-cli/src/research/commands/gates.mjs +176 -0
- package/dist/engineering-pa-cli/src/research/commands/list.mjs +56 -0
- package/dist/engineering-pa-cli/src/research/commands/mark.mjs +97 -0
- package/dist/engineering-pa-cli/src/research/commands/paths.mjs +69 -0
- package/dist/engineering-pa-cli/src/research/commands/prune.mjs +86 -0
- package/dist/engineering-pa-cli/src/research/commands/run.mjs +94 -0
- package/dist/engineering-pa-cli/src/research/commands/show.mjs +43 -0
- package/dist/engineering-pa-cli/src/research/docs/operator-present-flow.md +120 -0
- package/dist/engineering-pa-cli/src/research/format.mjs +59 -0
- package/dist/engineering-pa-cli/src/research/promote.mjs +260 -0
- package/dist/engineering-pa-cli/src/research/schema/finding.schema.json +55 -0
- package/dist/engineering-pa-cli/src/research/schema/gates.schema.json +34 -0
- package/dist/engineering-pa-cli/src/research/schema/manifest.schema.json +59 -0
- package/dist/engineering-pa-cli/src/research/schema/plan.schema.json +41 -0
- package/dist/engineering-pa-cli/src/research/schema/sources.schema.json +31 -0
- package/dist/engineering-pa-cli/src/research/store/findings.mjs +61 -0
- package/dist/engineering-pa-cli/src/research/store/gates.mjs +73 -0
- package/dist/engineering-pa-cli/src/research/store/index.mjs +312 -0
- package/dist/engineering-pa-cli/src/research/store/manifest.mjs +56 -0
- package/dist/engineering-pa-cli/src/research/store/plan.mjs +59 -0
- package/dist/engineering-pa-cli/src/research/store/sources.mjs +44 -0
- package/dist/engineering-pa-cli/src/research/store/validate.mjs +92 -0
- package/dist/engineering-pa-cli/src/research/workflows/research-normal.js +573 -0
- package/dist/engineering-pa-cli/src/scheduler/cli.mjs +197 -0
- package/dist/engineering-pa-cli/src/secrets/cli.mjs +254 -0
- package/dist/engineering-pa-cli/src/secrets/commands/backup-template.mjs +67 -0
- package/dist/engineering-pa-cli/src/secrets/commands/backup.mjs +85 -0
- package/dist/engineering-pa-cli/src/secrets/commands/delete.mjs +58 -0
- package/dist/engineering-pa-cli/src/secrets/commands/find.mjs +36 -0
- package/dist/engineering-pa-cli/src/secrets/commands/get.mjs +49 -0
- package/dist/engineering-pa-cli/src/secrets/commands/init.mjs +69 -0
- package/dist/engineering-pa-cli/src/secrets/commands/list.mjs +37 -0
- package/dist/engineering-pa-cli/src/secrets/commands/rotate.mjs +46 -0
- package/dist/engineering-pa-cli/src/secrets/commands/set.mjs +123 -0
- package/dist/engineering-pa-cli/src/secrets/commands/status.mjs +146 -0
- package/dist/engineering-pa-cli/src/secrets/commands/vaults.mjs +57 -0
- package/dist/engineering-pa-cli/src/secrets/commands/verify.mjs +143 -0
- package/dist/engineering-pa-cli/src/secrets/vault.mjs +766 -0
- package/dist/engineering-pa-cli/src/smoke/checks.mjs +199 -0
- package/dist/engineering-pa-cli/src/smoke/cli.mjs +108 -0
- package/dist/engineering-pa-cli/src/smoke/commands/run.mjs +237 -0
- package/dist/engineering-pa-cli/src/smoke/runner.mjs +191 -0
- package/dist/engineering-pa-cli/src/staging-alias/cli.mjs +91 -0
- package/dist/engineering-pa-cli/src/staging-alias/cloudflare.mjs +380 -0
- package/dist/engineering-pa-cli/src/staging-alias/commands/list.mjs +36 -0
- package/dist/engineering-pa-cli/src/staging-alias/commands/set.mjs +188 -0
- package/dist/engineering-pa-cli/src/staging-alias/commands/status.mjs +113 -0
- package/dist/engineering-pa-cli/src/staging-alias/commands/unset.mjs +95 -0
- package/dist/engineering-pa-cli/src/staging-alias/sites.mjs +105 -0
- package/dist/engineering-pa-cli/src/sync/cli.mjs +151 -0
- package/dist/engineering-pa-cli/src/sync/git.mjs +149 -0
- package/dist/engineering-pa-cli/src/sync/lock.mjs +30 -0
- package/dist/engineering-pa-cli/src/sync/regenerated-artifacts.mjs +114 -0
- package/dist/engineering-pa-cli/src/sync/registry-scope.mjs +260 -0
- package/dist/engineering-pa-cli/src/sync/run.mjs +531 -0
- package/dist/engineering-pa-cli/src/sync/runner.mjs +62 -0
- package/dist/engineering-pa-cli/src/sync/runs-digest.mjs +138 -0
- package/dist/engineering-pa-core/README.md +60 -0
- package/dist/engineering-pa-core/bin/desk +9 -0
- package/dist/engineering-pa-core/bin/distill +2 -0
- package/dist/engineering-pa-core/bin/memory-sync +2 -0
- package/dist/engineering-pa-core/bin/slice +2 -0
- package/dist/engineering-pa-core/docs/autonomy-envelope-tracker.md +111 -0
- package/dist/engineering-pa-core/docs/blueprints/README.md +45 -0
- package/dist/engineering-pa-core/docs/blueprints/docker-services/blueprint.md +168 -0
- package/dist/engineering-pa-core/docs/blueprints/git-identity/blueprint.md +116 -0
- package/dist/engineering-pa-core/docs/blueprints/ideas/custom-workspace-views.md +9 -0
- package/dist/engineering-pa-core/docs/blueprints/ideas/knowledge-domain-patterns.md +15 -0
- package/dist/engineering-pa-core/docs/blueprints/ideas/office-integration.md +11 -0
- package/dist/engineering-pa-core/docs/blueprints/ideas/team-scaling.md +9 -0
- package/dist/engineering-pa-core/docs/blueprints/ideas/work-personal-separation.md +9 -0
- package/dist/engineering-pa-core/docs/blueprints/scheduled-distillation/blueprint.md +129 -0
- package/dist/engineering-pa-core/docs/blueprints/tool-integration/blueprint.md +110 -0
- package/dist/engineering-pa-core/docs/commands/init.md +159 -0
- package/dist/engineering-pa-core/docs/commands/schedule.md +98 -0
- package/dist/engineering-pa-core/docs/commands/upgrade.md +67 -0
- package/dist/engineering-pa-core/docs/entity-location-map.md +93 -0
- package/dist/engineering-pa-core/docs/knowledge-scaffold.md +121 -0
- package/dist/engineering-pa-core/docs/lock.md +155 -0
- package/dist/engineering-pa-core/docs/memory-sync.md +28 -0
- package/dist/engineering-pa-core/docs/pa-operating-model.md +457 -0
- package/dist/engineering-pa-core/docs/scheduling.md +35 -0
- package/dist/engineering-pa-core/docs/standards/README.md +24 -0
- package/dist/engineering-pa-core/docs/standards/briefing-contract.md +161 -0
- package/dist/engineering-pa-core/docs/standards/tooling.md +240 -0
- package/dist/engineering-pa-core/docs/tools/distill.md +230 -0
- package/dist/engineering-pa-core/docs/tools/memory-sync.md +98 -0
- package/dist/engineering-pa-core/docs/tools/scheduler.md +243 -0
- package/dist/engineering-pa-core/docs/tools/slice.md +150 -0
- package/dist/engineering-pa-core/docs/upstream-issue-filing.md +88 -0
- package/dist/engineering-pa-core/docs/working-directory.md +29 -0
- package/dist/engineering-pa-core/docs/workspace-operations.md +46 -0
- package/dist/engineering-pa-core/index.mjs +21 -0
- package/dist/engineering-pa-core/knowledge/README.md +53 -0
- package/dist/engineering-pa-core/knowledge/canonical/.gitkeep +0 -0
- package/dist/engineering-pa-core/knowledge/content-voice/README.md +64 -0
- package/dist/engineering-pa-core/knowledge/content-voice/banned-ai-tells-baseline.md +133 -0
- package/dist/engineering-pa-core/knowledge/content-voice/banned-ai-tells-shape.md +58 -0
- package/dist/engineering-pa-core/knowledge/content-voice/banned-ai-tells-taxonomy.md +33 -0
- package/dist/engineering-pa-core/knowledge/content-voice/content-pipeline-routing.md +58 -0
- package/dist/engineering-pa-core/knowledge/content-voice/new-tell-capture-procedure.md +40 -0
- package/dist/engineering-pa-core/knowledge/content-voice/voice-guide-shape.md +43 -0
- package/dist/engineering-pa-core/knowledge/delegation-dispatch/README.md +34 -0
- package/dist/engineering-pa-core/knowledge/delegation-dispatch/briefing-contract.md +77 -0
- package/dist/engineering-pa-core/knowledge/delegation-dispatch/delegation-modes.md +84 -0
- package/dist/engineering-pa-core/knowledge/delegation-dispatch/dispatch-envelope.md +238 -0
- package/dist/engineering-pa-core/knowledge/delegation-dispatch/task-groups-and-orchestrators.md +62 -0
- package/dist/engineering-pa-core/knowledge/delegation-dispatch/team-improvement-loop.md +48 -0
- package/dist/engineering-pa-core/knowledge/delegation-dispatch/tool-development-policy.md +48 -0
- package/dist/engineering-pa-core/knowledge/engineering-discipline/README.md +33 -0
- package/dist/engineering-pa-core/knowledge/engineering-discipline/blast-radius-and-safety.md +50 -0
- package/dist/engineering-pa-core/knowledge/engineering-discipline/investigate-root-causes.md +48 -0
- package/dist/engineering-pa-core/knowledge/engineering-discipline/role-ladder.md +57 -0
- package/dist/engineering-pa-core/knowledge/engineering-discipline/verify-runtime-behaviour.md +53 -0
- package/dist/engineering-pa-core/knowledge/engineering-discipline/worktree-isolation.md +50 -0
- package/dist/engineering-pa-core/knowledge/knowledge-memory/README.md +33 -0
- package/dist/engineering-pa-core/knowledge/knowledge-memory/claude-md-hygiene.md +47 -0
- package/dist/engineering-pa-core/knowledge/knowledge-memory/journal-and-self-improvement.md +53 -0
- package/dist/engineering-pa-core/knowledge/knowledge-memory/knowledge-retrieval-discipline.md +62 -0
- package/dist/engineering-pa-core/knowledge/knowledge-memory/librarian-synthesis-mandate.md +56 -0
- package/dist/engineering-pa-core/knowledge/knowledge-memory/staging-and-observations.md +58 -0
- package/dist/engineering-pa-core/knowledge/operator-interface/README.md +32 -0
- package/dist/engineering-pa-core/knowledge/operator-interface/communication-style.md +33 -0
- package/dist/engineering-pa-core/knowledge/operator-interface/escalation-and-correction.md +45 -0
- package/dist/engineering-pa-core/knowledge/operator-interface/push-back-discipline.md +42 -0
- package/dist/engineering-pa-core/knowledge/operator-interface/session-boot-and-end.md +56 -0
- package/dist/engineering-pa-core/knowledge/platform-tooling/README.md +37 -0
- package/dist/engineering-pa-core/knowledge/platform-tooling/desk-cli-reference.md +52 -0
- package/dist/engineering-pa-core/knowledge/platform-tooling/environment-awareness.md +91 -0
- package/dist/engineering-pa-core/knowledge/platform-tooling/mcp-servers-catalogue.md +52 -0
- package/dist/engineering-pa-core/knowledge/platform-tooling/pa-cli-reference.md +55 -0
- package/dist/engineering-pa-core/knowledge/platform-tooling/scheduling-and-launchd.md +56 -0
- package/dist/engineering-pa-core/knowledge/platform-tooling/tool-discovery-discipline.md +49 -0
- package/dist/engineering-pa-core/knowledge/platform-tooling/working-directory-vs-project-root.md +43 -0
- package/dist/engineering-pa-core/knowledge/platform-tooling/workspace-server.md +51 -0
- package/dist/engineering-pa-core/knowledge/raw/.gitkeep +0 -0
- package/dist/engineering-pa-core/knowledge/scaffold/domains.json +5 -0
- package/dist/engineering-pa-core/knowledge/schema/.gitkeep +0 -0
- package/dist/engineering-pa-core/knowledge/work-management/README.md +33 -0
- package/dist/engineering-pa-core/knowledge/work-management/desk-cli.md +84 -0
- package/dist/engineering-pa-core/knowledge/work-management/progress-md.md +48 -0
- package/dist/engineering-pa-core/knowledge/work-management/projects.md +64 -0
- package/dist/engineering-pa-core/knowledge/work-management/spawn-log.md +48 -0
- package/dist/engineering-pa-core/knowledge/work-management/work-items.md +67 -0
- package/dist/engineering-pa-core/package.json +26 -0
- package/dist/engineering-pa-core/roles/agent-ops/definition.md +79 -0
- package/dist/engineering-pa-core/roles/dispatch-briefer/definition.md +195 -0
- package/dist/engineering-pa-core/roles/librarian/definition.md +176 -0
- package/dist/engineering-pa-core/roles/pa/definition.md +93 -0
- package/dist/engineering-pa-core/roles/system-admin/definition.md +106 -0
- package/dist/engineering-pa-core/roles/tool-developer/definition.md +116 -0
- package/dist/engineering-pa-core/roles/writer/definition.md +130 -0
- package/dist/engineering-pa-core/schema/autonomy-envelope.schema.json +61 -0
- package/dist/engineering-pa-core/schema/project.json +114 -0
- package/dist/engineering-pa-core/schema/schedule.json +63 -0
- package/dist/engineering-pa-core/schema/work-item.json +92 -0
- package/dist/engineering-pa-core/src/config/pa-package-name.mjs +30 -0
- package/dist/engineering-pa-core/src/desk/cli.mjs +95 -0
- package/dist/engineering-pa-core/src/desk/commands.mjs +398 -0
- package/dist/engineering-pa-core/src/desk/format.mjs +84 -0
- package/dist/engineering-pa-core/src/desk/repo.mjs +172 -0
- package/dist/engineering-pa-core/src/desk/team-scope.mjs +142 -0
- package/dist/engineering-pa-core/src/distill/cli.mjs +112 -0
- package/dist/engineering-pa-core/src/distill/prereqs.mjs +171 -0
- package/dist/engineering-pa-core/src/distill/prompt.mjs +74 -0
- package/dist/engineering-pa-core/src/distill/run.mjs +230 -0
- package/dist/engineering-pa-core/src/distill/runner.mjs +86 -0
- package/dist/engineering-pa-core/src/distill/staging.mjs +59 -0
- package/dist/engineering-pa-core/src/knowledge/retrieval/backlink-indexer.mjs +154 -0
- package/dist/engineering-pa-core/src/knowledge/retrieval/graph-builder.mjs +186 -0
- package/dist/engineering-pa-core/src/knowledge/retrieval/index-builder.mjs +225 -0
- package/dist/engineering-pa-core/src/knowledge/retrieval/query.mjs +263 -0
- package/dist/engineering-pa-core/src/lock/lock.mjs +202 -0
- package/dist/engineering-pa-core/src/memory-sync/cli-support.mjs +12 -0
- package/dist/engineering-pa-core/src/memory-sync/cli.mjs +56 -0
- package/dist/engineering-pa-core/src/memory-sync/commands/pull.mjs +44 -0
- package/dist/engineering-pa-core/src/memory-sync/commands/push.mjs +46 -0
- package/dist/engineering-pa-core/src/memory-sync/mirror.mjs +114 -0
- package/dist/engineering-pa-core/src/memory-sync/repo.mjs +65 -0
- package/dist/engineering-pa-core/src/scheduler/detect.mjs +111 -0
- package/dist/engineering-pa-core/src/scheduler/host.mjs +38 -0
- package/dist/engineering-pa-core/src/scheduler/index.mjs +13 -0
- package/dist/engineering-pa-core/src/scheduler/install.mjs +854 -0
- package/dist/engineering-pa-core/src/scheduler/list.mjs +168 -0
- package/dist/engineering-pa-core/src/scheduler/remove.mjs +176 -0
- package/dist/engineering-pa-core/src/scheduler/verify.mjs +435 -0
- package/dist/engineering-pa-core/src/session-boot/autonomy-injection.mjs +84 -0
- package/dist/engineering-pa-core/src/slice/cli.mjs +139 -0
- package/dist/engineering-pa-core/src/slice/inputs.mjs +174 -0
- package/dist/engineering-pa-core/src/slice/prompt.mjs +94 -0
- package/dist/engineering-pa-core/src/slice/prompts/dave-boot.md +91 -0
- package/dist/engineering-pa-core/src/slice/run.mjs +334 -0
- package/dist/engineering-pa-core-extensions-atlassian/README.md +31 -0
- package/dist/engineering-pa-core-extensions-atlassian/index.mjs +9 -0
- package/dist/engineering-pa-core-extensions-atlassian/package.json +19 -0
- package/dist/engineering-pa-core-extensions-n8n/README.md +29 -0
- package/dist/engineering-pa-core-extensions-n8n/index.mjs +8 -0
- package/dist/engineering-pa-core-extensions-n8n/package.json +19 -0
- package/dist/engineering-pa-librarian/README.md +38 -0
- package/dist/engineering-pa-librarian/index.mjs +12 -0
- package/dist/engineering-pa-librarian/package.json +19 -0
- package/dist/engineering-pa-migrate-inspect/README.md +131 -0
- package/dist/engineering-pa-migrate-inspect/bin/migrate-inspect +2 -0
- package/dist/engineering-pa-migrate-inspect/package.json +21 -0
- package/dist/engineering-pa-migrate-inspect/src/age-key-migrate.mjs +83 -0
- package/dist/engineering-pa-migrate-inspect/src/cli.mjs +97 -0
- package/dist/engineering-pa-migrate-inspect/src/inspector.mjs +237 -0
- package/dist/engineering-pa-migrate-inspect/src/platforms/linux.mjs +87 -0
- package/dist/engineering-pa-migrate-inspect/src/platforms/macos.mjs +105 -0
- package/dist/engineering-pa-migrate-inspect/src/runner.mjs +87 -0
- package/dist/engineering-pa-runbook/README.md +103 -0
- package/dist/engineering-pa-runbook/package.json +18 -0
- package/dist/engineering-pa-runbook/reference/dex-template.runbook.json +66 -0
- package/dist/engineering-pa-runbook/reference/hq-dave.runbook.json +69 -0
- package/dist/engineering-pa-runbook/reference/smarthome01.runbook.json +92 -0
- package/dist/engineering-pa-runbook/schema/inspection.schema.json +113 -0
- package/dist/engineering-pa-runbook/schema/runbook.schema.json +67 -0
- package/dist/engineering-pa-runbook/src/validator.mjs +167 -0
- package/dist/engineering-pa-scaffold/README.md +164 -0
- package/dist/engineering-pa-scaffold/bin/pa-init +2 -0
- package/dist/engineering-pa-scaffold/index.mjs +42 -0
- package/dist/engineering-pa-scaffold/package.json +22 -0
- package/dist/engineering-pa-scaffold/src/cli.mjs +115 -0
- package/dist/engineering-pa-scaffold/src/commands/init.mjs +169 -0
- package/dist/engineering-pa-scaffold/src/generator.mjs +354 -0
- package/dist/engineering-pa-scaffold/src/prompts.mjs +125 -0
- package/dist/engineering-pa-scaffold/src/runner.mjs +142 -0
- package/dist/engineering-pa-scaffold/templates/CLAUDE.md.template +196 -0
- package/dist/engineering-pa-scaffold/templates/operator-README.md.template +44 -0
- package/dist/engineering-pa-types-engineering/README.md +35 -0
- package/dist/engineering-pa-types-engineering/docs/commands/product-build.md +120 -0
- package/dist/engineering-pa-types-engineering/index.mjs +9 -0
- package/dist/engineering-pa-types-engineering/package.json +19 -0
- package/dist/engineering-pa-types-engineering/roles/product-engineer/definition.md +650 -0
- package/dist/engineering-pa-types-engineering/roles/product-engineer/templates/build-spec.md +82 -0
- package/dist/engineering-pa-types-engineering/roles/product-engineer/templates/preflight-checklist.md +158 -0
- package/dist/engineering-pa-types-engineering/roles/product-engineer/templates/worker-brief.md +130 -0
- package/dist/engineering-pa-workspace/README.md +197 -0
- package/dist/engineering-pa-workspace/app/assets/md.js +187 -0
- package/dist/engineering-pa-workspace/app/assets/modal.js +120 -0
- package/dist/engineering-pa-workspace/app/assets/theme.css +132 -0
- package/dist/engineering-pa-workspace/app/assets/theme.js +159 -0
- package/dist/engineering-pa-workspace/app/banner.js +320 -0
- package/dist/engineering-pa-workspace/app/delegations.html +345 -0
- package/dist/engineering-pa-workspace/app/home.html +1060 -0
- package/dist/engineering-pa-workspace/app/index.html +361 -0
- package/dist/engineering-pa-workspace/app/knowledge-map.html +163 -0
- package/dist/engineering-pa-workspace/app/knowledge.html +304 -0
- package/dist/engineering-pa-workspace/app/nav.json +75 -0
- package/dist/engineering-pa-workspace/app/notes.html +199 -0
- package/dist/engineering-pa-workspace/app/onboarding.html +592 -0
- package/dist/engineering-pa-workspace/app/profile.html +243 -0
- package/dist/engineering-pa-workspace/app/project-detail.html +432 -0
- package/dist/engineering-pa-workspace/app/projects.html +297 -0
- package/dist/engineering-pa-workspace/app/repos.html +598 -0
- package/dist/engineering-pa-workspace/app/schedules.html +486 -0
- package/dist/engineering-pa-workspace/app/secrets.html +164 -0
- package/dist/engineering-pa-workspace/app/staging.html +319 -0
- package/dist/engineering-pa-workspace/app/tasks.html +465 -0
- package/dist/engineering-pa-workspace/app/vendor/chart.umd.min.js +21 -0
- package/dist/engineering-pa-workspace/app/viewer.html +116 -0
- package/dist/engineering-pa-workspace/docs/DAEMON.md +104 -0
- package/dist/engineering-pa-workspace/docs/page-blueprint.md +286 -0
- package/dist/engineering-pa-workspace/docs/status-mon.md +168 -0
- package/dist/engineering-pa-workspace/index.mjs +12 -0
- package/dist/engineering-pa-workspace/nav.json.example +8 -0
- package/dist/engineering-pa-workspace/package.json +27 -0
- package/dist/engineering-pa-workspace/src/api.mjs +2086 -0
- package/dist/engineering-pa-workspace/src/install-daemon.mjs +573 -0
- package/dist/engineering-pa-workspace/src/nav.mjs +190 -0
- package/dist/engineering-pa-workspace/src/secrets-api.mjs +175 -0
- package/dist/engineering-pa-workspace/src/server.mjs +516 -0
- package/dist/engineering-pa-workspace/src/status-mon/poll.mjs +220 -0
- package/dist/engineering-pa-workspace/src/status-mon/poller.mjs +113 -0
- package/dist/engineering-pa-workspace/src/status-mon/run.mjs +133 -0
- package/dist/engineering-pa-workspace/src/supervisor.mjs +264 -0
- package/dist/engineering-pa-workspace/src/ws.mjs +633 -0
- package/index.mjs +60 -0
- package/package.json +58 -0
- package/templates/banned-ai-tells.md +102 -0
- package/templates/purpose.md +105 -0
- 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. -->
|