@quickchatai/quickreview 0.0.0-stage → 1.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 +23 -0
- package/README.md +385 -2
- package/THIRD-PARTY-NOTICES.md +134 -0
- package/agents/pass-abstraction.md +64 -0
- package/agents/pass-ask-human.md +134 -0
- package/agents/pass-backcompat.md +67 -0
- package/agents/pass-baseline.md +61 -0
- package/agents/pass-behaviour-delta.md +64 -0
- package/agents/pass-bounds.md +36 -0
- package/agents/pass-claims.md +31 -0
- package/agents/pass-concurrency.md +168 -0
- package/agents/pass-consistency.md +57 -0
- package/agents/pass-contracts.md +30 -0
- package/agents/pass-data-safety.md +54 -0
- package/agents/pass-deferred.md +35 -0
- package/agents/pass-delivery.md +37 -0
- package/agents/pass-duplication.md +60 -0
- package/agents/pass-intent.md +63 -0
- package/agents/pass-lint-conformance.md +46 -0
- package/agents/pass-maintainability.md +67 -0
- package/agents/pass-placement.md +68 -0
- package/agents/pass-prod-risk.md +24 -0
- package/agents/pass-rollout.md +32 -0
- package/agents/pass-roundtrip.md +46 -0
- package/agents/pass-security.md +31 -0
- package/agents/pass-simplicity.md +68 -0
- package/agents/pass-statelessness.md +27 -0
- package/agents/pass-style.md +37 -0
- package/agents/pass-sweep.md +57 -0
- package/agents/pass-tests.md +58 -0
- package/agents/pass-ui.md +23 -0
- package/agents/pass-validate.md +50 -0
- package/agents/pass-widened.md +46 -0
- package/agents/scan/pass-scan.md +86 -0
- package/bin/qcr.js +11 -0
- package/config.example.toml +1067 -0
- package/deploy/ansible/README.md +356 -0
- package/deploy/ansible/group_vars/all.yml +212 -0
- package/deploy/ansible/inventory.example.ini +25 -0
- package/deploy/ansible/playbook.yml +360 -0
- package/deploy/collect-secrets.sh +289 -0
- package/deploy/collect-slack-secrets.mjs +1190 -0
- package/deploy/github-app-manifest.json +31 -0
- package/deploy/manifest.schema.json +75 -0
- package/deploy/qcr-update.sh +803 -0
- package/deploy/reviewer/AGENTS.override.md +12 -0
- package/dist/extensions/cli/bash-guard-ambient.js +42 -0
- package/dist/extensions/cli/bash-guard-ambient.js.map +1 -0
- package/dist/extensions/cli/bash-guard.js +5 -0
- package/dist/extensions/cli/bash-guard.js.map +1 -0
- package/dist/extensions/cli/companion-guard.js +5 -0
- package/dist/extensions/cli/companion-guard.js.map +1 -0
- package/dist/extensions/cli/debug-round.js +8 -0
- package/dist/extensions/cli/debug-round.js.map +1 -0
- package/dist/extensions/cli/inject-bridge.js +5 -0
- package/dist/extensions/cli/inject-bridge.js.map +1 -0
- package/dist/extensions/cli/ledger-pin.js +5 -0
- package/dist/extensions/cli/ledger-pin.js.map +1 -0
- package/dist/extensions/cli/lens.js +13 -0
- package/dist/extensions/cli/lens.js.map +1 -0
- package/dist/extensions/cli/muted-theme.js +5 -0
- package/dist/extensions/cli/muted-theme.js.map +1 -0
- package/dist/extensions/cli/onboarding.js +5 -0
- package/dist/extensions/cli/onboarding.js.map +1 -0
- package/dist/extensions/cli/setup.js +5 -0
- package/dist/extensions/cli/setup.js.map +1 -0
- package/dist/extensions/cli/tui-view.js +5 -0
- package/dist/extensions/cli/tui-view.js.map +1 -0
- package/dist/extensions/companion-guard.js +361 -0
- package/dist/extensions/companion-guard.js.map +1 -0
- package/dist/extensions/debug-round.js +204 -0
- package/dist/extensions/debug-round.js.map +1 -0
- package/dist/extensions/inject-bridge.js +603 -0
- package/dist/extensions/inject-bridge.js.map +1 -0
- package/dist/extensions/muted-theme.js +12 -0
- package/dist/extensions/muted-theme.js.map +1 -0
- package/dist/extensions/onboarding.js +175 -0
- package/dist/extensions/onboarding.js.map +1 -0
- package/dist/extensions/setup-replay.js +269 -0
- package/dist/extensions/setup-replay.js.map +1 -0
- package/dist/extensions/setup-scan.js +998 -0
- package/dist/extensions/setup-scan.js.map +1 -0
- package/dist/extensions/setup-triage.js +175 -0
- package/dist/extensions/setup-triage.js.map +1 -0
- package/dist/extensions/setup.js +1160 -0
- package/dist/extensions/setup.js.map +1 -0
- package/dist/extensions/tui-view.js +389 -0
- package/dist/extensions/tui-view.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/client.js +376 -0
- package/dist/extensions/vendor/openviking-pi/client.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/config.js +189 -0
- package/dist/extensions/vendor/openviking-pi/config.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/index.js +421 -0
- package/dist/extensions/vendor/openviking-pi/index.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/lib/capture-adapter.mjs +86 -0
- package/dist/extensions/vendor/openviking-pi/lib/capture-adapter.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/lib/takeover-core.mjs +408 -0
- package/dist/extensions/vendor/openviking-pi/lib/takeover-core.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/lib/uri-guard-adapter.mjs +41 -0
- package/dist/extensions/vendor/openviking-pi/lib/uri-guard-adapter.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/qcr-hint.js +290 -0
- package/dist/extensions/vendor/openviking-pi/qcr-hint.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/qcr-honest.js +148 -0
- package/dist/extensions/vendor/openviking-pi/qcr-honest.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/qcr-hooks.js +68 -0
- package/dist/extensions/vendor/openviking-pi/qcr-hooks.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/qcr-leaf.js +77 -0
- package/dist/extensions/vendor/openviking-pi/qcr-leaf.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/qcr-lesson.js +216 -0
- package/dist/extensions/vendor/openviking-pi/qcr-lesson.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/qcr-namespaces.js +154 -0
- package/dist/extensions/vendor/openviking-pi/qcr-namespaces.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/qcr-recall.js +254 -0
- package/dist/extensions/vendor/openviking-pi/qcr-recall.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/qcr-shim.js +94 -0
- package/dist/extensions/vendor/openviking-pi/qcr-shim.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/qcr-write.js +333 -0
- package/dist/extensions/vendor/openviking-pi/qcr-write.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/recall.js +108 -0
- package/dist/extensions/vendor/openviking-pi/recall.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/shared/capture-utils.mjs +529 -0
- package/dist/extensions/vendor/openviking-pi/shared/capture-utils.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/shared/credentials.mjs +205 -0
- package/dist/extensions/vendor/openviking-pi/shared/credentials.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/shared/pending-queue.mjs +442 -0
- package/dist/extensions/vendor/openviking-pi/shared/pending-queue.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/shared/profile-inject.mjs +286 -0
- package/dist/extensions/vendor/openviking-pi/shared/profile-inject.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/shared/recall-compress-core.mjs +189 -0
- package/dist/extensions/vendor/openviking-pi/shared/recall-compress-core.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/shared/recall-core.mjs +580 -0
- package/dist/extensions/vendor/openviking-pi/shared/recall-core.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/shared/retryable.mjs +11 -0
- package/dist/extensions/vendor/openviking-pi/shared/retryable.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/shared/session-model.mjs +63 -0
- package/dist/extensions/vendor/openviking-pi/shared/session-model.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/shared/uri-guard.mjs +58 -0
- package/dist/extensions/vendor/openviking-pi/shared/uri-guard.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/shared/workspace-peer.mjs +16 -0
- package/dist/extensions/vendor/openviking-pi/shared/workspace-peer.mjs.map +1 -0
- package/dist/extensions/vendor/openviking-pi/sync.js +127 -0
- package/dist/extensions/vendor/openviking-pi/sync.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/takeover.js +25 -0
- package/dist/extensions/vendor/openviking-pi/takeover.js.map +1 -0
- package/dist/extensions/vendor/openviking-pi/tools.js +417 -0
- package/dist/extensions/vendor/openviking-pi/tools.js.map +1 -0
- package/dist/src/anomalies.js +483 -0
- package/dist/src/anomalies.js.map +1 -0
- package/dist/src/answerworker.js +180 -0
- package/dist/src/answerworker.js.map +1 -0
- package/dist/src/appstamp.js +68 -0
- package/dist/src/appstamp.js.map +1 -0
- package/dist/src/archive/admission.js +3 -0
- package/dist/src/archive/admission.js.map +1 -0
- package/dist/src/archive/archivedb.js +474 -0
- package/dist/src/archive/archivedb.js.map +1 -0
- package/dist/src/archive/archiver.js +1770 -0
- package/dist/src/archive/archiver.js.map +1 -0
- package/dist/src/archive/archivewrite.js +198 -0
- package/dist/src/archive/archivewrite.js.map +1 -0
- package/dist/src/archive/bundle.js +266 -0
- package/dist/src/archive/bundle.js.map +1 -0
- package/dist/src/archive/dbmove.js +638 -0
- package/dist/src/archive/dbmove.js.map +1 -0
- package/dist/src/archive/duplicatecounts.js +80 -0
- package/dist/src/archive/duplicatecounts.js.map +1 -0
- package/dist/src/archive/eligibility.js +113 -0
- package/dist/src/archive/eligibility.js.map +1 -0
- package/dist/src/archive/extract.js +288 -0
- package/dist/src/archive/extract.js.map +1 -0
- package/dist/src/archive/fsutil.js +330 -0
- package/dist/src/archive/fsutil.js.map +1 -0
- package/dist/src/archive/gzfile.js +277 -0
- package/dist/src/archive/gzfile.js.map +1 -0
- package/dist/src/archive/kinds.js +22 -0
- package/dist/src/archive/kinds.js.map +1 -0
- package/dist/src/archive/livecheckpoint.js +178 -0
- package/dist/src/archive/livecheckpoint.js.map +1 -0
- package/dist/src/archive/liveretention.js +145 -0
- package/dist/src/archive/liveretention.js.map +1 -0
- package/dist/src/archive/manifest.js +284 -0
- package/dist/src/archive/manifest.js.map +1 -0
- package/dist/src/archive/overseer.js +283 -0
- package/dist/src/archive/overseer.js.map +1 -0
- package/dist/src/archive/piglobal.js +129 -0
- package/dist/src/archive/piglobal.js.map +1 -0
- package/dist/src/archive/plan.js +398 -0
- package/dist/src/archive/plan.js.map +1 -0
- package/dist/src/archive/prarchive.js +831 -0
- package/dist/src/archive/prarchive.js.map +1 -0
- package/dist/src/archive/prfiles.js +303 -0
- package/dist/src/archive/prfiles.js.map +1 -0
- package/dist/src/archive/report.js +169 -0
- package/dist/src/archive/report.js.map +1 -0
- package/dist/src/archive/restore.js +276 -0
- package/dist/src/archive/restore.js.map +1 -0
- package/dist/src/archive/rows.js +106 -0
- package/dist/src/archive/rows.js.map +1 -0
- package/dist/src/archive/seal.js +480 -0
- package/dist/src/archive/seal.js.map +1 -0
- package/dist/src/archive/status.js +528 -0
- package/dist/src/archive/status.js.map +1 -0
- package/dist/src/archive/storepass.js +409 -0
- package/dist/src/archive/storepass.js.map +1 -0
- package/dist/src/backfill.js +217 -0
- package/dist/src/backfill.js.map +1 -0
- package/dist/src/bench/cost.js +87 -0
- package/dist/src/bench/exec.js +76 -0
- package/dist/src/bench/values.js +14 -0
- package/dist/src/botcontrol.js +127 -0
- package/dist/src/botcontrol.js.map +1 -0
- package/dist/src/botworker.js +805 -0
- package/dist/src/botworker.js.map +1 -0
- package/dist/src/capture.js +234 -0
- package/dist/src/capture.js.map +1 -0
- package/dist/src/cases.js +1491 -0
- package/dist/src/cases.js.map +1 -0
- package/dist/src/channelfs.js +27 -0
- package/dist/src/channelfs.js.map +1 -0
- package/dist/src/checklist.js +312 -0
- package/dist/src/checklist.js.map +1 -0
- package/dist/src/ciretry.js +91 -0
- package/dist/src/ciretry.js.map +1 -0
- package/dist/src/cli.js +1916 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/cliops.js +333 -0
- package/dist/src/cliops.js.map +1 -0
- package/dist/src/clonedir.js +15 -0
- package/dist/src/clonedir.js.map +1 -0
- package/dist/src/commandeffects.js +43 -0
- package/dist/src/commandeffects.js.map +1 -0
- package/dist/src/commands.js +1312 -0
- package/dist/src/commands.js.map +1 -0
- package/dist/src/companioninbox.js +203 -0
- package/dist/src/companioninbox.js.map +1 -0
- package/dist/src/compare.js +673 -0
- package/dist/src/compare.js.map +1 -0
- package/dist/src/config.js +1027 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/configcheck.js +111 -0
- package/dist/src/configcheck.js.map +1 -0
- package/dist/src/coreext.js +43 -0
- package/dist/src/coreext.js.map +1 -0
- package/dist/src/daemon.js +929 -0
- package/dist/src/daemon.js.map +1 -0
- package/dist/src/debuground.js +731 -0
- package/dist/src/debuground.js.map +1 -0
- package/dist/src/debugroundpi.js +219 -0
- package/dist/src/debugroundpi.js.map +1 -0
- package/dist/src/diagnostics.js +14 -0
- package/dist/src/diagnostics.js.map +1 -0
- package/dist/src/digest.js +139 -0
- package/dist/src/digest.js.map +1 -0
- package/dist/src/dispatch.js +1726 -0
- package/dist/src/dispatch.js.map +1 -0
- package/dist/src/engine/answerguard.js +18 -0
- package/dist/src/engine/answerguard.js.map +1 -0
- package/dist/src/engine/botsdk.js +262 -0
- package/dist/src/engine/botsdk.js.map +1 -0
- package/dist/src/engine/caserunner-sdk.js +332 -0
- package/dist/src/engine/caserunner-sdk.js.map +1 -0
- package/dist/src/engine/debugpi.js +194 -0
- package/dist/src/engine/debugpi.js.map +1 -0
- package/dist/src/eod.js +473 -0
- package/dist/src/eod.js.map +1 -0
- package/dist/src/eodpinwatch.js +391 -0
- package/dist/src/eodpinwatch.js.map +1 -0
- package/dist/src/escalation.js +1009 -0
- package/dist/src/escalation.js.map +1 -0
- package/dist/src/eventloop.js +779 -0
- package/dist/src/eventloop.js.map +1 -0
- package/dist/src/execboundary.js +430 -0
- package/dist/src/execboundary.js.map +1 -0
- package/dist/src/feedback.js +915 -0
- package/dist/src/feedback.js.map +1 -0
- package/dist/src/findingscheck.js +200 -0
- package/dist/src/findingscheck.js.map +1 -0
- package/dist/src/fsdenied.js +26 -0
- package/dist/src/fsdenied.js.map +1 -0
- package/dist/src/ghread.js +181 -0
- package/dist/src/ghread.js.map +1 -0
- package/dist/src/github.js +1063 -0
- package/dist/src/github.js.map +1 -0
- package/dist/src/homes.js +103 -0
- package/dist/src/homes.js.map +1 -0
- package/dist/src/hostroute.js +24 -0
- package/dist/src/hostroute.js.map +1 -0
- package/dist/src/improvements.js +625 -0
- package/dist/src/improvements.js.map +1 -0
- package/dist/src/install.js +946 -0
- package/dist/src/install.js.map +1 -0
- package/dist/src/installkind.js +40 -0
- package/dist/src/installkind.js.map +1 -0
- package/dist/src/ipc/capability.js +286 -0
- package/dist/src/ipc/capability.js.map +1 -0
- package/dist/src/ipc/client.js +226 -0
- package/dist/src/ipc/client.js.map +1 -0
- package/dist/src/ipc/control.js +70 -0
- package/dist/src/ipc/control.js.map +1 -0
- package/dist/src/ipc/ghreadshim.js +77 -0
- package/dist/src/ipc/ghreadshim.js.map +1 -0
- package/dist/src/ipc/launcher.js +65 -0
- package/dist/src/ipc/launcher.js.map +1 -0
- package/dist/src/ipc/permits.js +293 -0
- package/dist/src/ipc/permits.js.map +1 -0
- package/dist/src/ipc/postshim.js +137 -0
- package/dist/src/ipc/postshim.js.map +1 -0
- package/dist/src/ipc/protocol.js +239 -0
- package/dist/src/ipc/protocol.js.map +1 -0
- package/dist/src/ipc/server.js +312 -0
- package/dist/src/ipc/server.js.map +1 -0
- package/dist/src/ipc/workerspec.js +148 -0
- package/dist/src/ipc/workerspec.js.map +1 -0
- package/dist/src/learner/learner.js +1272 -0
- package/dist/src/learner/learner.js.map +1 -0
- package/dist/src/learner/miner.js +948 -0
- package/dist/src/learner/miner.js.map +1 -0
- package/dist/src/learner/packet.js +216 -0
- package/dist/src/learner/packet.js.map +1 -0
- package/dist/src/learner/receipt.js +135 -0
- package/dist/src/learner/receipt.js.map +1 -0
- package/dist/src/learner/status.js +38 -0
- package/dist/src/learner/status.js.map +1 -0
- package/dist/src/ledgercheck.js +120 -0
- package/dist/src/ledgercheck.js.map +1 -0
- package/dist/src/lessonledger.js +451 -0
- package/dist/src/lessonledger.js.map +1 -0
- package/dist/src/lessonselect.js +639 -0
- package/dist/src/lessonselect.js.map +1 -0
- package/dist/src/lessonshadow.js +540 -0
- package/dist/src/lessonshadow.js.map +1 -0
- package/dist/src/levers.js +302 -0
- package/dist/src/levers.js.map +1 -0
- package/dist/src/live/projection.js +450 -0
- package/dist/src/live/projection.js.map +1 -0
- package/dist/src/live/publish.js +83 -0
- package/dist/src/live/publish.js.map +1 -0
- package/dist/src/live/read.js +60 -0
- package/dist/src/live/read.js.map +1 -0
- package/dist/src/livecli.js +288 -0
- package/dist/src/livecli.js.map +1 -0
- package/dist/src/loginhint.js +42 -0
- package/dist/src/loginhint.js.map +1 -0
- package/dist/src/loginrefresh/atomic.js +66 -0
- package/dist/src/loginrefresh/atomic.js.map +1 -0
- package/dist/src/loginrefresh/lock.js +93 -0
- package/dist/src/loginrefresh/lock.js.map +1 -0
- package/dist/src/loginrefresh/main.js +58 -0
- package/dist/src/loginrefresh/main.js.map +1 -0
- package/dist/src/loginrefresh/pirefresh.js +49 -0
- package/dist/src/loginrefresh/pirefresh.js.map +1 -0
- package/dist/src/loginrefresh/refresher.js +286 -0
- package/dist/src/loginrefresh/refresher.js.map +1 -0
- package/dist/src/loginrefresh/supervisor.js +253 -0
- package/dist/src/loginrefresh/supervisor.js.map +1 -0
- package/dist/src/loginrefresh/types.js +4 -0
- package/dist/src/loginrefresh/types.js.map +1 -0
- package/dist/src/memory/context.js +251 -0
- package/dist/src/memory/context.js.map +1 -0
- package/dist/src/memory/datafence.js +5 -0
- package/dist/src/memory/datafence.js.map +1 -0
- package/dist/src/memory/delivery.js +131 -0
- package/dist/src/memory/delivery.js.map +1 -0
- package/dist/src/memory/eventtags.js +81 -0
- package/dist/src/memory/eventtags.js.map +1 -0
- package/dist/src/memory/health.js +713 -0
- package/dist/src/memory/health.js.map +1 -0
- package/dist/src/memory/import.js +504 -0
- package/dist/src/memory/import.js.map +1 -0
- package/dist/src/memory/layout.js +252 -0
- package/dist/src/memory/layout.js.map +1 -0
- package/dist/src/memory/legacy-file.js +100 -0
- package/dist/src/memory/legacy-file.js.map +1 -0
- package/dist/src/memory/lessons.js +370 -0
- package/dist/src/memory/lessons.js.map +1 -0
- package/dist/src/memory/ovsession.js +449 -0
- package/dist/src/memory/ovsession.js.map +1 -0
- package/dist/src/memory/relayout.js +259 -0
- package/dist/src/memory/relayout.js.map +1 -0
- package/dist/src/memory/roundactivity.js +180 -0
- package/dist/src/memory/roundactivity.js.map +1 -0
- package/dist/src/memory/selection.js +690 -0
- package/dist/src/memory/selection.js.map +1 -0
- package/dist/src/memory/shadowstatus.js +69 -0
- package/dist/src/memory/shadowstatus.js.map +1 -0
- package/dist/src/memory/store.js +83 -0
- package/dist/src/memory/store.js.map +1 -0
- package/dist/src/memory/textidentity.js +8 -0
- package/dist/src/memory/textidentity.js.map +1 -0
- package/dist/src/metrics.js +773 -0
- package/dist/src/metrics.js.map +1 -0
- package/dist/src/missingconfig.js +8 -0
- package/dist/src/missingconfig.js.map +1 -0
- package/dist/src/npmverbs.js +226 -0
- package/dist/src/npmverbs.js.map +1 -0
- package/dist/src/onboard/choices.js +191 -0
- package/dist/src/onboard/choices.js.map +1 -0
- package/dist/src/onboard/engine.js +344 -0
- package/dist/src/onboard/engine.js.map +1 -0
- package/dist/src/onboard/launch.js +83 -0
- package/dist/src/onboard/launch.js.map +1 -0
- package/dist/src/onboard/steps/appslug.js +211 -0
- package/dist/src/onboard/steps/appslug.js.map +1 -0
- package/dist/src/onboard/steps/bringup.js +408 -0
- package/dist/src/onboard/steps/bringup.js.map +1 -0
- package/dist/src/onboard/steps/compose.js +343 -0
- package/dist/src/onboard/steps/compose.js.map +1 -0
- package/dist/src/onboard/steps/configdelivery.js +50 -0
- package/dist/src/onboard/steps/configdelivery.js.map +1 -0
- package/dist/src/onboard/steps/configfill.js +1148 -0
- package/dist/src/onboard/steps/configfill.js.map +1 -0
- package/dist/src/onboard/steps/deploysh.js +80 -0
- package/dist/src/onboard/steps/deploysh.js.map +1 -0
- package/dist/src/onboard/steps/embeddings.js +472 -0
- package/dist/src/onboard/steps/embeddings.js.map +1 -0
- package/dist/src/onboard/steps/escalation.js +571 -0
- package/dist/src/onboard/steps/escalation.js.map +1 -0
- package/dist/src/onboard/steps/githubapp.js +1092 -0
- package/dist/src/onboard/steps/githubapp.js.map +1 -0
- package/dist/src/onboard/steps/golive.js +506 -0
- package/dist/src/onboard/steps/golive.js.map +1 -0
- package/dist/src/onboard/steps/index.js +67 -0
- package/dist/src/onboard/steps/index.js.map +1 -0
- package/dist/src/onboard/steps/ingress.js +762 -0
- package/dist/src/onboard/steps/ingress.js.map +1 -0
- package/dist/src/onboard/steps/inventory.js +420 -0
- package/dist/src/onboard/steps/inventory.js.map +1 -0
- package/dist/src/onboard/steps/llmauth.js +893 -0
- package/dist/src/onboard/steps/llmauth.js.map +1 -0
- package/dist/src/onboard/steps/memory.js +1060 -0
- package/dist/src/onboard/steps/memory.js.map +1 -0
- package/dist/src/onboard/steps/memorykeys.js +43 -0
- package/dist/src/onboard/steps/memorykeys.js.map +1 -0
- package/dist/src/onboard/steps/preflight.js +172 -0
- package/dist/src/onboard/steps/preflight.js.map +1 -0
- package/dist/src/onboard/steps/proof.js +502 -0
- package/dist/src/onboard/steps/proof.js.map +1 -0
- package/dist/src/onboard/steps/ssh.js +300 -0
- package/dist/src/onboard/steps/ssh.js.map +1 -0
- package/dist/src/onboard/steps/topology.js +291 -0
- package/dist/src/onboard/steps/topology.js.map +1 -0
- package/dist/src/onboard/steps/transport.js +511 -0
- package/dist/src/onboard/steps/transport.js.map +1 -0
- package/dist/src/onboard/steps/verifyup.js +362 -0
- package/dist/src/onboard/steps/verifyup.js.map +1 -0
- package/dist/src/onboard/steps/vmdeploy.js +368 -0
- package/dist/src/onboard/steps/vmdeploy.js.map +1 -0
- package/dist/src/onboard/toml.js +53 -0
- package/dist/src/onboard/toml.js.map +1 -0
- package/dist/src/opencli.js +508 -0
- package/dist/src/opencli.js.map +1 -0
- package/dist/src/openpr.js +457 -0
- package/dist/src/openpr.js.map +1 -0
- package/dist/src/openviking/client.js +821 -0
- package/dist/src/openviking/client.js.map +1 -0
- package/dist/src/openviking/context.js +218 -0
- package/dist/src/openviking/context.js.map +1 -0
- package/dist/src/openviking/embedder.js +457 -0
- package/dist/src/openviking/embedder.js.map +1 -0
- package/dist/src/openviking/gapsink.js +38 -0
- package/dist/src/openviking/gapsink.js.map +1 -0
- package/dist/src/openviking/health.js +69 -0
- package/dist/src/openviking/health.js.map +1 -0
- package/dist/src/openviking/index.js +24 -0
- package/dist/src/openviking/index.js.map +1 -0
- package/dist/src/openviking/lessonfind.js +54 -0
- package/dist/src/openviking/lessonfind.js.map +1 -0
- package/dist/src/openviking/probe.js +89 -0
- package/dist/src/openviking/probe.js.map +1 -0
- package/dist/src/openviking/proc.js +95 -0
- package/dist/src/openviking/proc.js.map +1 -0
- package/dist/src/openviking/provisionreport.js +144 -0
- package/dist/src/openviking/provisionreport.js.map +1 -0
- package/dist/src/openviking/reembed.js +317 -0
- package/dist/src/openviking/reembed.js.map +1 -0
- package/dist/src/openviking/relayout.js +153 -0
- package/dist/src/openviking/relayout.js.map +1 -0
- package/dist/src/openviking/sidecar-main.js +39 -0
- package/dist/src/openviking/sidecar-main.js.map +1 -0
- package/dist/src/openviking/sidecar.js +79 -0
- package/dist/src/openviking/sidecar.js.map +1 -0
- package/dist/src/openviking/store.js +1758 -0
- package/dist/src/openviking/store.js.map +1 -0
- package/dist/src/openviking/supervisor.js +422 -0
- package/dist/src/openviking/supervisor.js.map +1 -0
- package/dist/src/openviking/types.js +5 -0
- package/dist/src/openviking/types.js.map +1 -0
- package/dist/src/operator-recovery.js +172 -0
- package/dist/src/operator-recovery.js.map +1 -0
- package/dist/src/operatormessage.js +44 -0
- package/dist/src/operatormessage.js.map +1 -0
- package/dist/src/outcomes.js +1361 -0
- package/dist/src/outcomes.js.map +1 -0
- package/dist/src/piauthcopy.js +5 -0
- package/dist/src/piauthcopy.js.map +1 -0
- package/dist/src/picli.js +45 -0
- package/dist/src/picli.js.map +1 -0
- package/dist/src/picwd.js +25 -0
- package/dist/src/picwd.js.map +1 -0
- package/dist/src/pilogin.js +35 -0
- package/dist/src/pilogin.js.map +1 -0
- package/dist/src/pingpong.js +1028 -0
- package/dist/src/pingpong.js.map +1 -0
- package/dist/src/posting-journal.js +441 -0
- package/dist/src/posting-journal.js.map +1 -0
- package/dist/src/posting-outbox.js +662 -0
- package/dist/src/posting-outbox.js.map +1 -0
- package/dist/src/posting-receipt.js +203 -0
- package/dist/src/posting-receipt.js.map +1 -0
- package/dist/src/posting.js +348 -0
- package/dist/src/posting.js.map +1 -0
- package/dist/src/postops.js +637 -0
- package/dist/src/postops.js.map +1 -0
- package/dist/src/pr-activity.js +11 -0
- package/dist/src/pr-activity.js.map +1 -0
- package/dist/src/pr-author.js +5 -0
- package/dist/src/pr-author.js.map +1 -0
- package/dist/src/pr-conversation.js +355 -0
- package/dist/src/pr-conversation.js.map +1 -0
- package/dist/src/pr-session-lifecycle.js +542 -0
- package/dist/src/pr-session-lifecycle.js.map +1 -0
- package/dist/src/preflight.js +341 -0
- package/dist/src/preflight.js.map +1 -0
- package/dist/src/priorresolve.js +275 -0
- package/dist/src/priorresolve.js.map +1 -0
- package/dist/src/qcrbin.js +180 -0
- package/dist/src/qcrbin.js.map +1 -0
- package/dist/src/recheck.js +1398 -0
- package/dist/src/recheck.js.map +1 -0
- package/dist/src/reconcile.js +820 -0
- package/dist/src/reconcile.js.map +1 -0
- package/dist/src/recordedfindings.js +15 -0
- package/dist/src/recordedfindings.js.map +1 -0
- package/dist/src/regression.js +546 -0
- package/dist/src/regression.js.map +1 -0
- package/dist/src/replay.js +598 -0
- package/dist/src/replay.js.map +1 -0
- package/dist/src/requiredpasses.js +113 -0
- package/dist/src/requiredpasses.js.map +1 -0
- package/dist/src/resumecheck.js +168 -0
- package/dist/src/resumecheck.js.map +1 -0
- package/dist/src/reviewcli.js +671 -0
- package/dist/src/reviewcli.js.map +1 -0
- package/dist/src/reviewcontext.js +22 -0
- package/dist/src/reviewcontext.js.map +1 -0
- package/dist/src/reviewdetach.js +574 -0
- package/dist/src/reviewdetach.js.map +1 -0
- package/dist/src/reviewhistory.js +284 -0
- package/dist/src/reviewhistory.js.map +1 -0
- package/dist/src/reviewhome.js +26 -0
- package/dist/src/reviewhome.js.map +1 -0
- package/dist/src/reviewmemory.js +110 -0
- package/dist/src/reviewmemory.js.map +1 -0
- package/dist/src/reviewrendercli.js +104 -0
- package/dist/src/reviewrendercli.js.map +1 -0
- package/dist/src/round-work.js +20 -0
- package/dist/src/round-work.js.map +1 -0
- package/dist/src/runhost.js +72 -0
- package/dist/src/runhost.js.map +1 -0
- package/dist/src/scanauth.js +25 -0
- package/dist/src/scanauth.js.map +1 -0
- package/dist/src/scanbox.js +846 -0
- package/dist/src/scanbox.js.map +1 -0
- package/dist/src/scancli.js +1074 -0
- package/dist/src/scancli.js.map +1 -0
- package/dist/src/scandriverlog.js +30 -0
- package/dist/src/scandriverlog.js.map +1 -0
- package/dist/src/session-bridge.js +75 -0
- package/dist/src/session-bridge.js.map +1 -0
- package/dist/src/session-command-payload.js +29 -0
- package/dist/src/session-command-payload.js.map +1 -0
- package/dist/src/session-command-supervisor.js +939 -0
- package/dist/src/session-command-supervisor.js.map +1 -0
- package/dist/src/sessionjsonl.js +85 -0
- package/dist/src/sessionjsonl.js.map +1 -0
- package/dist/src/sessions.js +541 -0
- package/dist/src/sessions.js.map +1 -0
- package/dist/src/setup/adapters.js +330 -0
- package/dist/src/setup/adapters.js.map +1 -0
- package/dist/src/setup/baselines.js +64 -0
- package/dist/src/setup/baselines.js.map +1 -0
- package/dist/src/setup/caserunner.js +554 -0
- package/dist/src/setup/caserunner.js.map +1 -0
- package/dist/src/setup/configcommit.js +358 -0
- package/dist/src/setup/configcommit.js.map +1 -0
- package/dist/src/setup/engine.js +672 -0
- package/dist/src/setup/engine.js.map +1 -0
- package/dist/src/setup/facts.js +593 -0
- package/dist/src/setup/facts.js.map +1 -0
- package/dist/src/setup/findings.js +948 -0
- package/dist/src/setup/findings.js.map +1 -0
- package/dist/src/setup/history.js +338 -0
- package/dist/src/setup/history.js.map +1 -0
- package/dist/src/setup/interview.js +185 -0
- package/dist/src/setup/interview.js.map +1 -0
- package/dist/src/setup/ledger.js +207 -0
- package/dist/src/setup/ledger.js.map +1 -0
- package/dist/src/setup/pins.js +43 -0
- package/dist/src/setup/pins.js.map +1 -0
- package/dist/src/setup/portrait.js +432 -0
- package/dist/src/setup/portrait.js.map +1 -0
- package/dist/src/setup/presentation.js +9 -0
- package/dist/src/setup/presentation.js.map +1 -0
- package/dist/src/setup/profile.js +417 -0
- package/dist/src/setup/profile.js.map +1 -0
- package/dist/src/setup/replay.js +240 -0
- package/dist/src/setup/replay.js.map +1 -0
- package/dist/src/setup/replaybuild.js +311 -0
- package/dist/src/setup/replaybuild.js.map +1 -0
- package/dist/src/setup/replayrun.js +806 -0
- package/dist/src/setup/replayrun.js.map +1 -0
- package/dist/src/setup/replaysource.js +169 -0
- package/dist/src/setup/replaysource.js.map +1 -0
- package/dist/src/setup/retune.js +333 -0
- package/dist/src/setup/retune.js.map +1 -0
- package/dist/src/setup/retunelog.js +51 -0
- package/dist/src/setup/retunelog.js.map +1 -0
- package/dist/src/setup/scan.js +725 -0
- package/dist/src/setup/scan.js.map +1 -0
- package/dist/src/setup/scanbuild.js +133 -0
- package/dist/src/setup/scanbuild.js.map +1 -0
- package/dist/src/setup/scanfacts.js +96 -0
- package/dist/src/setup/scanfacts.js.map +1 -0
- package/dist/src/setup/scanlease.js +251 -0
- package/dist/src/setup/scanlease.js.map +1 -0
- package/dist/src/setup/scanreport.js +289 -0
- package/dist/src/setup/scanreport.js.map +1 -0
- package/dist/src/setup/scanrun.js +1733 -0
- package/dist/src/setup/scanrun.js.map +1 -0
- package/dist/src/setup/scantree.js +257 -0
- package/dist/src/setup/scantree.js.map +1 -0
- package/dist/src/setup/stage2.js +617 -0
- package/dist/src/setup/stage2.js.map +1 -0
- package/dist/src/setup/stage2request.js +259 -0
- package/dist/src/setup/stage2request.js.map +1 -0
- package/dist/src/setup/survey.js +307 -0
- package/dist/src/setup/survey.js.map +1 -0
- package/dist/src/setup/surveyrun.js +549 -0
- package/dist/src/setup/surveyrun.js.map +1 -0
- package/dist/src/setup/textsniff.js +89 -0
- package/dist/src/setup/textsniff.js.map +1 -0
- package/dist/src/setup/trackersink.js +395 -0
- package/dist/src/setup/trackersink.js.map +1 -0
- package/dist/src/setup/triage.js +636 -0
- package/dist/src/setup/triage.js.map +1 -0
- package/dist/src/setup/tuning.js +585 -0
- package/dist/src/setup/tuning.js.map +1 -0
- package/dist/src/setup/unitcut.js +437 -0
- package/dist/src/setup/unitcut.js.map +1 -0
- package/dist/src/singleflight.js +72 -0
- package/dist/src/singleflight.js.map +1 -0
- package/dist/src/slack/announce.js +725 -0
- package/dist/src/slack/announce.js.map +1 -0
- package/dist/src/slack/api.js +227 -0
- package/dist/src/slack/api.js.map +1 -0
- package/dist/src/slack/messages.js +158 -0
- package/dist/src/slack/messages.js.map +1 -0
- package/dist/src/slack/origin.js +550 -0
- package/dist/src/slack/origin.js.map +1 -0
- package/dist/src/slack/policy.js +225 -0
- package/dist/src/slack/policy.js.map +1 -0
- package/dist/src/slack/reply.js +153 -0
- package/dist/src/slack/reply.js.map +1 -0
- package/dist/src/slack/router.js +189 -0
- package/dist/src/slack/router.js.map +1 -0
- package/dist/src/slack/socket.js +323 -0
- package/dist/src/slack/socket.js.map +1 -0
- package/dist/src/slack/types.js +11 -0
- package/dist/src/slack/types.js.map +1 -0
- package/dist/src/sqlitehint.js +30 -0
- package/dist/src/sqlitehint.js.map +1 -0
- package/dist/src/ssh-observation.js +25 -0
- package/dist/src/ssh-observation.js.map +1 -0
- package/dist/src/state.js +5869 -0
- package/dist/src/state.js.map +1 -0
- package/dist/src/statemachine.js +220 -0
- package/dist/src/statemachine.js.map +1 -0
- package/dist/src/stubs.js +52 -0
- package/dist/src/stubs.js.map +1 -0
- package/dist/src/takeover.js +506 -0
- package/dist/src/takeover.js.map +1 -0
- package/dist/src/takeoverpi.js +249 -0
- package/dist/src/takeoverpi.js.map +1 -0
- package/dist/src/terminal-failure.js +26 -0
- package/dist/src/terminal-failure.js.map +1 -0
- package/dist/src/thread-resolution-refusal.js +4 -0
- package/dist/src/thread-resolution-refusal.js.map +1 -0
- package/dist/src/tmux.js +126 -0
- package/dist/src/tmux.js.map +1 -0
- package/dist/src/trackerid.js +43 -0
- package/dist/src/trackerid.js.map +1 -0
- package/dist/src/transcriptindex.js +512 -0
- package/dist/src/transcriptindex.js.map +1 -0
- package/dist/src/tui/actions.js +404 -0
- package/dist/src/tui/actions.js.map +1 -0
- package/dist/src/tui/alerts.js +523 -0
- package/dist/src/tui/alerts.js.map +1 -0
- package/dist/src/tui/app.js +1835 -0
- package/dist/src/tui/app.js.map +1 -0
- package/dist/src/tui/archiveops.js +164 -0
- package/dist/src/tui/archiveops.js.map +1 -0
- package/dist/src/tui/autofile.js +191 -0
- package/dist/src/tui/autofile.js.map +1 -0
- package/dist/src/tui/board.js +1143 -0
- package/dist/src/tui/board.js.map +1 -0
- package/dist/src/tui/candidates.js +699 -0
- package/dist/src/tui/candidates.js.map +1 -0
- package/dist/src/tui/cellwidth.js +151 -0
- package/dist/src/tui/cellwidth.js.map +1 -0
- package/dist/src/tui/changelog-store.js +404 -0
- package/dist/src/tui/changelog-store.js.map +1 -0
- package/dist/src/tui/chord.js +26 -0
- package/dist/src/tui/chord.js.map +1 -0
- package/dist/src/tui/clipboard.js +81 -0
- package/dist/src/tui/clipboard.js.map +1 -0
- package/dist/src/tui/cmdbar.js +253 -0
- package/dist/src/tui/cmdbar.js.map +1 -0
- package/dist/src/tui/companion.js +1275 -0
- package/dist/src/tui/companion.js.map +1 -0
- package/dist/src/tui/companionplan.js +200 -0
- package/dist/src/tui/companionplan.js.map +1 -0
- package/dist/src/tui/companiontab.js +61 -0
- package/dist/src/tui/companiontab.js.map +1 -0
- package/dist/src/tui/confighome.js +105 -0
- package/dist/src/tui/confighome.js.map +1 -0
- package/dist/src/tui/connect.js +44 -0
- package/dist/src/tui/connect.js.map +1 -0
- package/dist/src/tui/deploy-ceremony.js +75 -0
- package/dist/src/tui/deploy-ceremony.js.map +1 -0
- package/dist/src/tui/deploy-drain.js +93 -0
- package/dist/src/tui/deploy-drain.js.map +1 -0
- package/dist/src/tui/deploy-process.js +234 -0
- package/dist/src/tui/deploy-process.js.map +1 -0
- package/dist/src/tui/deploytab.js +1263 -0
- package/dist/src/tui/deploytab.js.map +1 -0
- package/dist/src/tui/design.js +111 -0
- package/dist/src/tui/design.js.map +1 -0
- package/dist/src/tui/digesttab.js +148 -0
- package/dist/src/tui/digesttab.js.map +1 -0
- package/dist/src/tui/emptystate.js +32 -0
- package/dist/src/tui/emptystate.js.map +1 -0
- package/dist/src/tui/evidence.js +790 -0
- package/dist/src/tui/evidence.js.map +1 -0
- package/dist/src/tui/feed.js +415 -0
- package/dist/src/tui/feed.js.map +1 -0
- package/dist/src/tui/feedbacktab.js +907 -0
- package/dist/src/tui/feedbacktab.js.map +1 -0
- package/dist/src/tui/filters.js +72 -0
- package/dist/src/tui/filters.js.map +1 -0
- package/dist/src/tui/ghread.js +272 -0
- package/dist/src/tui/ghread.js.map +1 -0
- package/dist/src/tui/historypull.js +61 -0
- package/dist/src/tui/historypull.js.map +1 -0
- package/dist/src/tui/inboxpull.js +197 -0
- package/dist/src/tui/inboxpull.js.map +1 -0
- package/dist/src/tui/index.js +1425 -0
- package/dist/src/tui/index.js.map +1 -0
- package/dist/src/tui/issuesink.js +206 -0
- package/dist/src/tui/issuesink.js.map +1 -0
- package/dist/src/tui/jsonfile.js +32 -0
- package/dist/src/tui/jsonfile.js.map +1 -0
- package/dist/src/tui/keys.js +97 -0
- package/dist/src/tui/keys.js.map +1 -0
- package/dist/src/tui/layout.js +70 -0
- package/dist/src/tui/layout.js.map +1 -0
- package/dist/src/tui/learning.js +469 -0
- package/dist/src/tui/learning.js.map +1 -0
- package/dist/src/tui/lessonswitch.js +103 -0
- package/dist/src/tui/lessonswitch.js.map +1 -0
- package/dist/src/tui/livecontrol.js +167 -0
- package/dist/src/tui/livecontrol.js.map +1 -0
- package/dist/src/tui/memforward.js +310 -0
- package/dist/src/tui/memforward.js.map +1 -0
- package/dist/src/tui/memincident.js +287 -0
- package/dist/src/tui/memincident.js.map +1 -0
- package/dist/src/tui/memory.js +485 -0
- package/dist/src/tui/memory.js.map +1 -0
- package/dist/src/tui/memtab.js +513 -0
- package/dist/src/tui/memtab.js.map +1 -0
- package/dist/src/tui/metricstab.js +979 -0
- package/dist/src/tui/metricstab.js.map +1 -0
- package/dist/src/tui/model.js +104 -0
- package/dist/src/tui/model.js.map +1 -0
- package/dist/src/tui/mouse.js +83 -0
- package/dist/src/tui/mouse.js.map +1 -0
- package/dist/src/tui/msg.js +196 -0
- package/dist/src/tui/msg.js.map +1 -0
- package/dist/src/tui/nativecompanion.js +321 -0
- package/dist/src/tui/nativecompanion.js.map +1 -0
- package/dist/src/tui/openurl.js +17 -0
- package/dist/src/tui/openurl.js.map +1 -0
- package/dist/src/tui/paint.js +501 -0
- package/dist/src/tui/paint.js.map +1 -0
- package/dist/src/tui/panes.js +74 -0
- package/dist/src/tui/panes.js.map +1 -0
- package/dist/src/tui/pipane.js +166 -0
- package/dist/src/tui/pipane.js.map +1 -0
- package/dist/src/tui/poll-hooks.js +11 -0
- package/dist/src/tui/poll-hooks.js.map +1 -0
- package/dist/src/tui/poll.js +113 -0
- package/dist/src/tui/poll.js.map +1 -0
- package/dist/src/tui/proposals.js +715 -0
- package/dist/src/tui/proposals.js.map +1 -0
- package/dist/src/tui/prpause.js +132 -0
- package/dist/src/tui/prpause.js.map +1 -0
- package/dist/src/tui/reload.js +351 -0
- package/dist/src/tui/reload.js.map +1 -0
- package/dist/src/tui/remote.js +312 -0
- package/dist/src/tui/remote.js.map +1 -0
- package/dist/src/tui/rollover.js +767 -0
- package/dist/src/tui/rollover.js.map +1 -0
- package/dist/src/tui/scantab.js +1053 -0
- package/dist/src/tui/scantab.js.map +1 -0
- package/dist/src/tui/setupentry.js +81 -0
- package/dist/src/tui/setupentry.js.map +1 -0
- package/dist/src/tui/sidebar.js +602 -0
- package/dist/src/tui/sidebar.js.map +1 -0
- package/dist/src/tui/sshtriage.js +393 -0
- package/dist/src/tui/sshtriage.js.map +1 -0
- package/dist/src/tui/startup.js +172 -0
- package/dist/src/tui/startup.js.map +1 -0
- package/dist/src/tui/tabs.js +41 -0
- package/dist/src/tui/tabs.js.map +1 -0
- package/dist/src/tui/termmirror.js +217 -0
- package/dist/src/tui/termmirror.js.map +1 -0
- package/dist/src/tui/theme.js +95 -0
- package/dist/src/tui/theme.js.map +1 -0
- package/dist/src/tui/ticketstab.js +224 -0
- package/dist/src/tui/ticketstab.js.map +1 -0
- package/dist/src/tui/tmuxsocket.js +101 -0
- package/dist/src/tui/tmuxsocket.js.map +1 -0
- package/dist/src/tui/trackertickets.js +77 -0
- package/dist/src/tui/trackertickets.js.map +1 -0
- package/dist/src/tui/unwedge.js +245 -0
- package/dist/src/tui/unwedge.js.map +1 -0
- package/dist/src/tui/viewer.js +479 -0
- package/dist/src/tui/viewer.js.map +1 -0
- package/dist/src/tui/viewerinput.js +125 -0
- package/dist/src/tui/viewerinput.js.map +1 -0
- package/dist/src/updatenotice.js +143 -0
- package/dist/src/updatenotice.js.map +1 -0
- package/dist/src/usage.js +1007 -0
- package/dist/src/usage.js.map +1 -0
- package/dist/src/verdicts.js +3848 -0
- package/dist/src/verdicts.js.map +1 -0
- package/dist/src/version.js +58 -0
- package/dist/src/version.js.map +1 -0
- package/dist/src/wakes.js +411 -0
- package/dist/src/wakes.js.map +1 -0
- package/dist/src/webhook.js +725 -0
- package/dist/src/webhook.js.map +1 -0
- package/dist/src/webhookheal.js +238 -0
- package/dist/src/webhookheal.js.map +1 -0
- package/dist/src/wire.js +1801 -0
- package/dist/src/wire.js.map +1 -0
- package/dist/src/worker-session-host.js +531 -0
- package/dist/src/worker-session-host.js.map +1 -0
- package/dist/src/workerbreaker.js +112 -0
- package/dist/src/workerbreaker.js.map +1 -0
- package/dist/src/workercontrol.js +49 -0
- package/dist/src/workercontrol.js.map +1 -0
- package/dist/src/workerlease.js +351 -0
- package/dist/src/workerlease.js.map +1 -0
- package/dist/src/workerliveness.js +84 -0
- package/dist/src/workerliveness.js.map +1 -0
- package/dist/src/workerlog.js +65 -0
- package/dist/src/workerlog.js.map +1 -0
- package/dist/src/workerruntime.js +10 -0
- package/dist/src/workerruntime.js.map +1 -0
- package/dist/src/workersupervisor.js +1206 -0
- package/dist/src/workersupervisor.js.map +1 -0
- package/dist/src/workerusage.js +23 -0
- package/dist/src/workerusage.js.map +1 -0
- package/dist/src/workerworld.js +332 -0
- package/dist/src/workerworld.js.map +1 -0
- package/dist/src/worktrees.js +984 -0
- package/dist/src/worktrees.js.map +1 -0
- package/docker/Dockerfile +284 -0
- package/docker/Dockerfile.dockerignore +35 -0
- package/docker/README.md +221 -0
- package/docker/companion/Dockerfile +139 -0
- package/docker/companion/agents/evidence.md +34 -0
- package/docker/companion/agents/explore.md +26 -0
- package/docker/companion/agents/pass-survey.md +49 -0
- package/docker/companion/agents/study.md +26 -0
- package/docker/companion/entrypoint.sh +343 -0
- package/docker/companion/memory-health.mjs +269 -0
- package/docker/entrypoint.sh +782 -0
- package/docker/memory/Dockerfile +191 -0
- package/docker/memory/Dockerfile.dockerignore +20 -0
- package/docker/memory/README.md +60 -0
- package/docker/memory/entrypoint.sh +163 -0
- package/docker/setid/qcr-setid.c +109 -0
- package/docker/tunnel/Dockerfile.cloudflared +51 -0
- package/docker/tunnel/Dockerfile.ngrok +40 -0
- package/docker/tunnel/sidecar.mjs +411 -0
- package/docker/vm/tmux.conf +26 -0
- package/docker-compose.yml +348 -0
- package/extensions/cli/bash-guard-ambient.ts +71 -0
- package/extensions/cli/bash-guard.ts +12 -0
- package/extensions/cli/companion-guard.ts +8 -0
- package/extensions/cli/debug-round.ts +9 -0
- package/extensions/cli/inject-bridge.ts +8 -0
- package/extensions/cli/ledger-pin.ts +13 -0
- package/extensions/cli/lens.ts +22 -0
- package/extensions/cli/muted-theme.ts +9 -0
- package/extensions/cli/onboarding.ts +8 -0
- package/extensions/cli/setup.ts +8 -0
- package/extensions/cli/tui-view.ts +8 -0
- package/extensions/companion-guard.ts +411 -0
- package/extensions/debug-round.ts +281 -0
- package/extensions/inject-bridge.ts +630 -0
- package/extensions/inline-bash.ts +102 -0
- package/extensions/muted-theme.json +68 -0
- package/extensions/muted-theme.ts +23 -0
- package/extensions/onboarding.ts +233 -0
- package/extensions/setup-replay.ts +336 -0
- package/extensions/setup-scan.ts +1236 -0
- package/extensions/setup-triage.ts +190 -0
- package/extensions/setup.ts +1428 -0
- package/extensions/tui-view.ts +489 -0
- package/extensions/vendor/openviking-pi/LICENSE +201 -0
- package/extensions/vendor/openviking-pi/NOTICE +68 -0
- package/extensions/vendor/openviking-pi/README.md +550 -0
- package/extensions/vendor/openviking-pi/client.ts +588 -0
- package/extensions/vendor/openviking-pi/config.json +28 -0
- package/extensions/vendor/openviking-pi/config.ts +271 -0
- package/extensions/vendor/openviking-pi/index.ts +523 -0
- package/extensions/vendor/openviking-pi/lib/capture-adapter.d.mts +10 -0
- package/extensions/vendor/openviking-pi/lib/capture-adapter.mjs +88 -0
- package/extensions/vendor/openviking-pi/lib/takeover-core.d.mts +80 -0
- package/extensions/vendor/openviking-pi/lib/takeover-core.mjs +406 -0
- package/extensions/vendor/openviking-pi/lib/uri-guard-adapter.d.mts +1 -0
- package/extensions/vendor/openviking-pi/lib/uri-guard-adapter.mjs +42 -0
- package/extensions/vendor/openviking-pi/patches/0000-vendoring-and-build-conformance.patch +726 -0
- package/extensions/vendor/openviking-pi/patches/0001-remove-session-before-compact-handler.patch +101 -0
- package/extensions/vendor/openviking-pi/patches/0002-no-ambient-work-in-subagent-leaves.patch +202 -0
- package/extensions/vendor/openviking-pi/patches/0003-never-auto-create-openviking-sessions.patch +120 -0
- package/extensions/vendor/openviking-pi/patches/0004-viking-write-durable-batch-write.patch +521 -0
- package/extensions/vendor/openviking-pi/patches/0005-second-memory-namespace.patch +786 -0
- package/extensions/vendor/openviking-pi/patches/0006-writes-that-stick-and-honest-errors.patch +996 -0
- package/extensions/vendor/openviking-pi/patches/0007-bounded-recall-no-commit.patch +794 -0
- package/extensions/vendor/openviking-pi/patches/0008-pr-derived-recall.patch +379 -0
- package/extensions/vendor/openviking-pi/patches/0009-pr-session-tools-in-round-areas.patch +375 -0
- package/extensions/vendor/openviking-pi/patches/0010-typed-lessons.patch +448 -0
- package/extensions/vendor/openviking-pi/patches/0011-review-session-memory-boundary.patch +382 -0
- package/extensions/vendor/openviking-pi/patches/0012-typecheck-against-the-real-pi.patch +129 -0
- package/extensions/vendor/openviking-pi/patches/0013-createopenviking-factory.patch +1168 -0
- package/extensions/vendor/openviking-pi/qcr-hint.ts +313 -0
- package/extensions/vendor/openviking-pi/qcr-honest.ts +183 -0
- package/extensions/vendor/openviking-pi/qcr-hooks.ts +87 -0
- package/extensions/vendor/openviking-pi/qcr-leaf.ts +78 -0
- package/extensions/vendor/openviking-pi/qcr-lesson.ts +231 -0
- package/extensions/vendor/openviking-pi/qcr-namespaces.ts +198 -0
- package/extensions/vendor/openviking-pi/qcr-recall.ts +288 -0
- package/extensions/vendor/openviking-pi/qcr-shim.ts +142 -0
- package/extensions/vendor/openviking-pi/qcr-write.ts +427 -0
- package/extensions/vendor/openviking-pi/recall.ts +149 -0
- package/extensions/vendor/openviking-pi/shared/capture-utils.d.mts +9 -0
- package/extensions/vendor/openviking-pi/shared/capture-utils.mjs +515 -0
- package/extensions/vendor/openviking-pi/shared/credentials.d.mts +14 -0
- package/extensions/vendor/openviking-pi/shared/credentials.mjs +228 -0
- package/extensions/vendor/openviking-pi/shared/pending-queue.d.mts +19 -0
- package/extensions/vendor/openviking-pi/shared/pending-queue.mjs +458 -0
- package/extensions/vendor/openviking-pi/shared/profile-inject.d.mts +17 -0
- package/extensions/vendor/openviking-pi/shared/profile-inject.mjs +294 -0
- package/extensions/vendor/openviking-pi/shared/recall-compress-core.mjs +195 -0
- package/extensions/vendor/openviking-pi/shared/recall-core.d.mts +13 -0
- package/extensions/vendor/openviking-pi/shared/recall-core.mjs +609 -0
- package/extensions/vendor/openviking-pi/shared/retryable.mjs +9 -0
- package/extensions/vendor/openviking-pi/shared/session-model.d.mts +3 -0
- package/extensions/vendor/openviking-pi/shared/session-model.mjs +57 -0
- package/extensions/vendor/openviking-pi/shared/uri-guard.mjs +56 -0
- package/extensions/vendor/openviking-pi/shared/workspace-peer.d.mts +5 -0
- package/extensions/vendor/openviking-pi/shared/workspace-peer.mjs +16 -0
- package/extensions/vendor/openviking-pi/sync.ts +163 -0
- package/extensions/vendor/openviking-pi/takeover.ts +36 -0
- package/extensions/vendor/openviking-pi/tools.ts +479 -0
- package/extensions/vendor/openviking-pi/upstream.json +48 -0
- package/package.json +138 -4
- package/profiles/default/README.md +21 -0
- package/profiles/default/addenda/.gitkeep +0 -0
- package/profiles/default/profile.toml +17 -0
- package/profiles/example-django/README.md +21 -0
- package/profiles/example-django/addenda/10-migration-discipline.md +13 -0
- package/profiles/example-django/addenda/20-new-column-nullability.md +12 -0
- package/profiles/example-django/addenda/30-test-doctrine.md +12 -0
- package/profiles/example-django/addenda/40-orm-usage.md +19 -0
- package/profiles/example-django/addenda/50-declared-shape.md +10 -0
- package/profiles/example-django/addenda/60-config-placement.md +14 -0
- package/profiles/example-django/heuristics.toml +24 -0
- package/profiles/example-django/profile.toml +9 -0
- package/profiles/fast/README.md +24 -0
- package/profiles/fast/profile.toml +59 -0
- package/profiles/minimal/README.md +17 -0
- package/profiles/minimal/addenda/.gitkeep +0 -0
- package/profiles/minimal/profile.toml +8 -0
- package/profiles/snappy/README.md +24 -0
- package/profiles/snappy/addenda/10-race-as-question.md +6 -0
- package/profiles/snappy/profile.toml +46 -0
- package/prompts/companion-day-open.md +46 -0
- package/prompts/companion-first-run.md +104 -0
- package/prompts/companion.md +821 -0
- package/prompts/conversation-system.md +117 -0
- package/prompts/eod-sweep.md +120 -0
- package/prompts/onboarding.md +74 -0
- package/prompts/pass-common.md +52 -0
- package/prompts/pass-quality-common.md +22 -0
- package/prompts/round-first.md +874 -0
- package/prompts/round-follow-up.md +991 -0
- package/prompts/round-re-review.md +889 -0
- package/prompts/round-recheck.md +196 -0
- package/prompts/round-staleness.md +856 -0
- package/schemas/review-result.v1.json +391 -0
- package/schemas/scan-result.v1.json +421 -0
- package/schemas/version.v1.json +57 -0
- package/scripts/approve-pr.sh +16 -0
- package/scripts/build-stamp.mjs +67 -0
- package/scripts/commit-verdict.sh +155 -0
- package/scripts/companion-e2e.sh +250 -0
- package/scripts/companion-memory-forward.mjs +1966 -0
- package/scripts/config-fingerprint.sh +28 -0
- package/scripts/deploy-manifest.mjs +141 -0
- package/scripts/deploy.sh +1435 -0
- package/scripts/directory-lock.mjs +193 -0
- package/scripts/heartbeat-fresh.mjs +54 -0
- package/scripts/install-locator.sh +328 -0
- package/scripts/install-wrapper.sh +76 -0
- package/scripts/memory-search-check.mjs +98 -0
- package/scripts/mint-token.sh +212 -0
- package/scripts/openviking-embedder.py +392 -0
- package/scripts/openviking-ov-conf.mjs +161 -0
- package/scripts/openviking-provision.mjs +1122 -0
- package/scripts/openviking-reembed.mjs +1154 -0
- package/scripts/post-review.sh +16 -0
- package/scripts/pr-checks.sh +256 -0
- package/scripts/pr-context.py +174 -0
- package/scripts/pr-context.sh +63 -0
- package/scripts/pr-self.sh +144 -0
- package/scripts/pr-threads.sh +145 -0
- package/scripts/qcr +15 -0
- package/scripts/qcr-host.sh +769 -0
- package/scripts/render-review.sh +24 -0
- package/scripts/reply-thread.sh +16 -0
- package/scripts/required-passes.py +112 -0
- package/scripts/smoke-companion.sh +211 -0
- package/scripts/tui-deploy-runner.mjs +61 -0
- package/scripts/verify-dist.mjs +201 -0
- package/scripts/vm-ghcr-login.sh +188 -0
- package/seeds/agents/pass-baseline.md +61 -0
- package/seeds/agents/pass-contracts.md +30 -0
- package/seeds/agents/pass-data-safety.md +54 -0
- package/seeds/agents/pass-delivery.md +37 -0
- package/seeds/agents/pass-prod-risk.md +24 -0
- package/seeds/agents/pass-security.md +31 -0
- package/seeds/agents/pass-statelessness.md +27 -0
- package/seeds/agents/pass-ui.md +23 -0
- package/seeds/agents/pass-validate.md +50 -0
- package/seeds/prompts/conversation-system.md +117 -0
- package/seeds/prompts/eod-sweep.md +120 -0
- package/seeds/prompts/pass-common.md +52 -0
- package/skills/companion/adjudicate/SKILL.md +247 -0
- package/skills/companion/evidence/SKILL.md +150 -0
- package/skills/companion/land/SKILL.md +200 -0
- package/skills/companion/replay/SKILL.md +138 -0
- package/skills/companion/setup/SKILL.md +167 -0
- package/skills/companion/survey/SKILL.md +160 -0
- package/skills/selfimprove/README.md +34 -0
- package/skills/selfimprove/SKILL.md +127 -0
- package/skills/selfimprove/agents/openai.yaml +2 -0
- package/skills/selfimprove/commands/selfimprove.md +6 -0
- package/skills/selfimprove/references/fix-loop.md +49 -0
- package/skills/selfimprove/references/ledger.md +20 -0
- package/skills/selfimprove/references/setup.md +40 -0
- package/src/anomalies.ts +566 -0
- package/src/answerworker.ts +251 -0
- package/src/appstamp.ts +65 -0
- package/src/archive/admission.ts +3 -0
- package/src/archive/archivedb.ts +548 -0
- package/src/archive/archiver.ts +1963 -0
- package/src/archive/archivewrite.ts +279 -0
- package/src/archive/bundle.ts +333 -0
- package/src/archive/dbmove.ts +911 -0
- package/src/archive/duplicatecounts.ts +98 -0
- package/src/archive/eligibility.ts +181 -0
- package/src/archive/extract.ts +342 -0
- package/src/archive/fsutil.ts +415 -0
- package/src/archive/gzfile.ts +370 -0
- package/src/archive/kinds.ts +21 -0
- package/src/archive/livecheckpoint.ts +217 -0
- package/src/archive/liveretention.ts +180 -0
- package/src/archive/manifest.ts +519 -0
- package/src/archive/overseer.ts +336 -0
- package/src/archive/piglobal.ts +174 -0
- package/src/archive/plan.ts +612 -0
- package/src/archive/prarchive.ts +984 -0
- package/src/archive/prfiles.ts +406 -0
- package/src/archive/report.ts +252 -0
- package/src/archive/restore.ts +330 -0
- package/src/archive/rows.ts +187 -0
- package/src/archive/seal.ts +630 -0
- package/src/archive/status.ts +719 -0
- package/src/archive/storepass.ts +581 -0
- package/src/backfill.ts +362 -0
- package/src/bench/cost.ts +113 -0
- package/src/bench/exec.ts +90 -0
- package/src/bench/values.ts +13 -0
- package/src/botcontrol.ts +176 -0
- package/src/botworker.ts +953 -0
- package/src/capture.ts +321 -0
- package/src/cases.ts +1789 -0
- package/src/channelfs.ts +26 -0
- package/src/checklist.ts +506 -0
- package/src/ciretry.ts +141 -0
- package/src/cli.ts +2271 -0
- package/src/cliops.ts +384 -0
- package/src/clonedir.ts +15 -0
- package/src/commandeffects.ts +57 -0
- package/src/commands.ts +1678 -0
- package/src/companioninbox.ts +239 -0
- package/src/compare.ts +957 -0
- package/src/config.ts +2050 -0
- package/src/configcheck.ts +133 -0
- package/src/coreext.ts +47 -0
- package/src/daemon.ts +1302 -0
- package/src/debuground.ts +927 -0
- package/src/debugroundpi.ts +262 -0
- package/src/diagnostics.ts +14 -0
- package/src/digest.ts +183 -0
- package/src/dispatch.ts +2250 -0
- package/src/engine/answerguard.ts +27 -0
- package/src/engine/botsdk.ts +336 -0
- package/src/engine/caserunner-sdk.ts +423 -0
- package/src/engine/debugpi.ts +235 -0
- package/src/eod.ts +669 -0
- package/src/eodpinwatch.ts +556 -0
- package/src/escalation.ts +1253 -0
- package/src/eventloop.ts +1045 -0
- package/src/execboundary.ts +633 -0
- package/src/feedback.ts +1162 -0
- package/src/findingscheck.ts +298 -0
- package/src/fsdenied.ts +24 -0
- package/src/ghread.ts +242 -0
- package/src/github.ts +1497 -0
- package/src/homes.ts +175 -0
- package/src/hostroute.ts +53 -0
- package/src/improvements.ts +787 -0
- package/src/install.ts +1103 -0
- package/src/installkind.ts +50 -0
- package/src/ipc/capability.ts +333 -0
- package/src/ipc/client.ts +269 -0
- package/src/ipc/control.ts +90 -0
- package/src/ipc/ghreadshim.ts +94 -0
- package/src/ipc/launcher.ts +65 -0
- package/src/ipc/permits.ts +362 -0
- package/src/ipc/postshim.ts +164 -0
- package/src/ipc/protocol.ts +342 -0
- package/src/ipc/server.ts +371 -0
- package/src/ipc/workerspec.ts +218 -0
- package/src/learner/learner.ts +1655 -0
- package/src/learner/miner.ts +1290 -0
- package/src/learner/packet.ts +340 -0
- package/src/learner/receipt.ts +168 -0
- package/src/learner/status.ts +107 -0
- package/src/ledgercheck.ts +157 -0
- package/src/lessonledger.ts +703 -0
- package/src/lessonselect.ts +888 -0
- package/src/lessonshadow.ts +810 -0
- package/src/levers.ts +393 -0
- package/src/live/projection.ts +491 -0
- package/src/live/publish.ts +92 -0
- package/src/live/read.ts +86 -0
- package/src/livecli.ts +336 -0
- package/src/loginhint.ts +56 -0
- package/src/loginrefresh/atomic.ts +76 -0
- package/src/loginrefresh/lock.ts +104 -0
- package/src/loginrefresh/main.ts +59 -0
- package/src/loginrefresh/pirefresh.ts +57 -0
- package/src/loginrefresh/refresher.ts +326 -0
- package/src/loginrefresh/supervisor.ts +273 -0
- package/src/loginrefresh/types.ts +35 -0
- package/src/memory/context.ts +385 -0
- package/src/memory/datafence.ts +9 -0
- package/src/memory/delivery.ts +171 -0
- package/src/memory/eventtags.ts +80 -0
- package/src/memory/health.ts +953 -0
- package/src/memory/import.ts +664 -0
- package/src/memory/layout.ts +261 -0
- package/src/memory/legacy-file.ts +104 -0
- package/src/memory/lessons.ts +447 -0
- package/src/memory/ovsession.ts +601 -0
- package/src/memory/relayout.ts +335 -0
- package/src/memory/roundactivity.ts +209 -0
- package/src/memory/selection.ts +989 -0
- package/src/memory/shadowstatus.ts +125 -0
- package/src/memory/store.ts +275 -0
- package/src/memory/textidentity.ts +8 -0
- package/src/metrics.ts +1056 -0
- package/src/missingconfig.ts +7 -0
- package/src/npmverbs.ts +264 -0
- package/src/onboard/choices.ts +222 -0
- package/src/onboard/engine.ts +518 -0
- package/src/onboard/launch.ts +115 -0
- package/src/onboard/steps/appslug.ts +265 -0
- package/src/onboard/steps/bringup.ts +482 -0
- package/src/onboard/steps/compose.ts +459 -0
- package/src/onboard/steps/configdelivery.ts +58 -0
- package/src/onboard/steps/configfill.ts +1352 -0
- package/src/onboard/steps/deploysh.ts +105 -0
- package/src/onboard/steps/embeddings.ts +550 -0
- package/src/onboard/steps/escalation.ts +640 -0
- package/src/onboard/steps/githubapp.ts +1414 -0
- package/src/onboard/steps/golive.ts +577 -0
- package/src/onboard/steps/index.ts +71 -0
- package/src/onboard/steps/ingress.ts +907 -0
- package/src/onboard/steps/inventory.ts +526 -0
- package/src/onboard/steps/llmauth.ts +1095 -0
- package/src/onboard/steps/memory.ts +1290 -0
- package/src/onboard/steps/memorykeys.ts +85 -0
- package/src/onboard/steps/preflight.ts +191 -0
- package/src/onboard/steps/proof.ts +624 -0
- package/src/onboard/steps/ssh.ts +377 -0
- package/src/onboard/steps/topology.ts +337 -0
- package/src/onboard/steps/transport.ts +665 -0
- package/src/onboard/steps/verifyup.ts +448 -0
- package/src/onboard/steps/vmdeploy.ts +442 -0
- package/src/onboard/toml.ts +50 -0
- package/src/opencli.ts +591 -0
- package/src/openpr.ts +568 -0
- package/src/openviking/client.ts +1131 -0
- package/src/openviking/context.ts +263 -0
- package/src/openviking/embedder.ts +516 -0
- package/src/openviking/gapsink.ts +63 -0
- package/src/openviking/health.ts +83 -0
- package/src/openviking/index.ts +119 -0
- package/src/openviking/lessonfind.ts +92 -0
- package/src/openviking/probe.ts +129 -0
- package/src/openviking/proc.ts +110 -0
- package/src/openviking/provisionreport.ts +160 -0
- package/src/openviking/reembed.ts +412 -0
- package/src/openviking/relayout.ts +177 -0
- package/src/openviking/sidecar-main.ts +38 -0
- package/src/openviking/sidecar.ts +106 -0
- package/src/openviking/store.ts +2025 -0
- package/src/openviking/supervisor.ts +474 -0
- package/src/openviking/types.ts +174 -0
- package/src/operator-recovery.ts +237 -0
- package/src/operatormessage.ts +52 -0
- package/src/outcomes.ts +1670 -0
- package/src/piauthcopy.ts +12 -0
- package/src/picli.ts +49 -0
- package/src/picwd.ts +25 -0
- package/src/pilogin.ts +37 -0
- package/src/pingpong.ts +1339 -0
- package/src/posting-journal.ts +549 -0
- package/src/posting-outbox.ts +802 -0
- package/src/posting-receipt.ts +324 -0
- package/src/posting.ts +603 -0
- package/src/postops.ts +832 -0
- package/src/pr-activity.ts +20 -0
- package/src/pr-author.ts +6 -0
- package/src/pr-conversation.ts +432 -0
- package/src/pr-session-lifecycle.ts +631 -0
- package/src/preflight.ts +391 -0
- package/src/priorresolve.ts +343 -0
- package/src/qcrbin.ts +186 -0
- package/src/recheck.ts +1775 -0
- package/src/reconcile.ts +1030 -0
- package/src/recordedfindings.ts +27 -0
- package/src/regression.ts +833 -0
- package/src/replay.ts +816 -0
- package/src/requiredpasses.ts +148 -0
- package/src/resumecheck.ts +246 -0
- package/src/reviewcli.ts +787 -0
- package/src/reviewcontext.ts +35 -0
- package/src/reviewdetach.ts +734 -0
- package/src/reviewhistory.ts +427 -0
- package/src/reviewhome.ts +36 -0
- package/src/reviewmemory.ts +133 -0
- package/src/reviewrendercli.ts +139 -0
- package/src/round-work.ts +42 -0
- package/src/runhost.ts +108 -0
- package/src/scanauth.ts +36 -0
- package/src/scanbox.ts +1081 -0
- package/src/scancli.ts +1296 -0
- package/src/scandriverlog.ts +32 -0
- package/src/session-bridge.ts +139 -0
- package/src/session-command-payload.ts +35 -0
- package/src/session-command-supervisor.ts +1142 -0
- package/src/sessionjsonl.ts +88 -0
- package/src/sessions.ts +659 -0
- package/src/setup/adapters.ts +335 -0
- package/src/setup/baselines.ts +110 -0
- package/src/setup/caserunner.ts +611 -0
- package/src/setup/configcommit.ts +443 -0
- package/src/setup/engine.ts +1001 -0
- package/src/setup/facts.ts +627 -0
- package/src/setup/findings.ts +1264 -0
- package/src/setup/history.ts +443 -0
- package/src/setup/interview.ts +243 -0
- package/src/setup/ledger.ts +324 -0
- package/src/setup/pins.ts +66 -0
- package/src/setup/portrait.ts +635 -0
- package/src/setup/presentation.ts +18 -0
- package/src/setup/profile.ts +508 -0
- package/src/setup/replay.ts +370 -0
- package/src/setup/replaybuild.ts +392 -0
- package/src/setup/replayrun.ts +1096 -0
- package/src/setup/replaysource.ts +198 -0
- package/src/setup/retune.ts +415 -0
- package/src/setup/retunelog.ts +95 -0
- package/src/setup/scan.ts +1033 -0
- package/src/setup/scanbuild.ts +168 -0
- package/src/setup/scanfacts.ts +107 -0
- package/src/setup/scanlease.ts +297 -0
- package/src/setup/scanreport.ts +373 -0
- package/src/setup/scanrun.ts +2268 -0
- package/src/setup/scantree.ts +259 -0
- package/src/setup/stage2.ts +926 -0
- package/src/setup/stage2request.ts +347 -0
- package/src/setup/survey.ts +458 -0
- package/src/setup/surveyrun.ts +758 -0
- package/src/setup/textsniff.ts +95 -0
- package/src/setup/trackersink.ts +433 -0
- package/src/setup/triage.ts +768 -0
- package/src/setup/tuning.ts +766 -0
- package/src/setup/unitcut.ts +523 -0
- package/src/singleflight.ts +86 -0
- package/src/slack/announce.ts +911 -0
- package/src/slack/api.ts +303 -0
- package/src/slack/messages.ts +288 -0
- package/src/slack/origin.ts +599 -0
- package/src/slack/policy.ts +354 -0
- package/src/slack/reply.ts +201 -0
- package/src/slack/router.ts +285 -0
- package/src/slack/socket.ts +384 -0
- package/src/slack/types.ts +108 -0
- package/src/sqlitehint.ts +32 -0
- package/src/ssh-observation.ts +30 -0
- package/src/state.ts +8243 -0
- package/src/statemachine.ts +369 -0
- package/src/stubs.ts +68 -0
- package/src/takeover.ts +634 -0
- package/src/takeoverpi.ts +293 -0
- package/src/terminal-failure.ts +41 -0
- package/src/thread-resolution-refusal.ts +2 -0
- package/src/tmux.ts +153 -0
- package/src/trackerid.ts +41 -0
- package/src/transcriptindex.ts +665 -0
- package/src/tui/actions.ts +484 -0
- package/src/tui/alerts.ts +666 -0
- package/src/tui/app.ts +1979 -0
- package/src/tui/archiveops.ts +192 -0
- package/src/tui/autofile.ts +233 -0
- package/src/tui/board.ts +1432 -0
- package/src/tui/candidates.ts +889 -0
- package/src/tui/cellwidth.ts +148 -0
- package/src/tui/changelog-store.ts +503 -0
- package/src/tui/chord.ts +25 -0
- package/src/tui/clipboard.ts +92 -0
- package/src/tui/cmdbar.ts +296 -0
- package/src/tui/companion.ts +1427 -0
- package/src/tui/companionplan.ts +247 -0
- package/src/tui/companiontab.ts +83 -0
- package/src/tui/confighome.ts +155 -0
- package/src/tui/connect.ts +68 -0
- package/src/tui/deploy-ceremony.ts +104 -0
- package/src/tui/deploy-drain.ts +129 -0
- package/src/tui/deploy-process.ts +265 -0
- package/src/tui/deploytab.ts +1523 -0
- package/src/tui/design.ts +125 -0
- package/src/tui/digesttab.ts +214 -0
- package/src/tui/emptystate.ts +39 -0
- package/src/tui/evidence.ts +999 -0
- package/src/tui/feed.ts +604 -0
- package/src/tui/feedbacktab.ts +1077 -0
- package/src/tui/filters.ts +90 -0
- package/src/tui/ghread.ts +321 -0
- package/src/tui/historypull.ts +81 -0
- package/src/tui/inboxpull.ts +236 -0
- package/src/tui/index.ts +1565 -0
- package/src/tui/issuesink.ts +238 -0
- package/src/tui/jsonfile.ts +42 -0
- package/src/tui/keys.ts +109 -0
- package/src/tui/layout.ts +108 -0
- package/src/tui/learning.ts +627 -0
- package/src/tui/lessonswitch.ts +118 -0
- package/src/tui/livecontrol.ts +228 -0
- package/src/tui/memforward.ts +443 -0
- package/src/tui/memincident.ts +363 -0
- package/src/tui/memory.ts +620 -0
- package/src/tui/memtab.ts +606 -0
- package/src/tui/metricstab.ts +1177 -0
- package/src/tui/model.ts +131 -0
- package/src/tui/mouse.ts +98 -0
- package/src/tui/msg.ts +268 -0
- package/src/tui/nativecompanion.ts +417 -0
- package/src/tui/openurl.ts +21 -0
- package/src/tui/paint.ts +511 -0
- package/src/tui/panes.ts +98 -0
- package/src/tui/pipane.ts +219 -0
- package/src/tui/poll-hooks.ts +12 -0
- package/src/tui/poll.ts +147 -0
- package/src/tui/proposals.ts +838 -0
- package/src/tui/prpause.ts +150 -0
- package/src/tui/reload.ts +436 -0
- package/src/tui/remote.ts +413 -0
- package/src/tui/rollover.ts +969 -0
- package/src/tui/scantab.ts +1290 -0
- package/src/tui/setupentry.ts +93 -0
- package/src/tui/sidebar.ts +749 -0
- package/src/tui/sshtriage.ts +510 -0
- package/src/tui/startup.ts +231 -0
- package/src/tui/tabs.ts +45 -0
- package/src/tui/termmirror.ts +224 -0
- package/src/tui/theme.ts +95 -0
- package/src/tui/ticketstab.ts +310 -0
- package/src/tui/tmuxsocket.ts +129 -0
- package/src/tui/trackertickets.ts +84 -0
- package/src/tui/unwedge.ts +286 -0
- package/src/tui/viewer.ts +575 -0
- package/src/tui/viewerinput.ts +173 -0
- package/src/updatenotice.ts +178 -0
- package/src/usage.ts +1154 -0
- package/src/verdicts.ts +4689 -0
- package/src/version.ts +80 -0
- package/src/wakes.ts +476 -0
- package/src/webhook.ts +942 -0
- package/src/webhookheal.ts +276 -0
- package/src/wire.ts +2153 -0
- package/src/worker-session-host.ts +602 -0
- package/src/workerbreaker.ts +156 -0
- package/src/workercontrol.ts +104 -0
- package/src/workerlease.ts +441 -0
- package/src/workerliveness.ts +103 -0
- package/src/workerlog.ts +79 -0
- package/src/workerruntime.ts +30 -0
- package/src/workersupervisor.ts +1538 -0
- package/src/workerusage.ts +42 -0
- package/src/workerworld.ts +427 -0
- package/src/worktrees.ts +1138 -0
- package/tests/fixtures/regression-cases.json +795 -0
- package/tests/fixtures/seed-manifest.json +19 -0
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
diff --git a/extensions/vendor/openviking-pi/NOTICE b/extensions/vendor/openviking-pi/NOTICE
|
|
2
|
+
index 62d7d0bc..931856dc 100644
|
|
3
|
+
--- a/extensions/vendor/openviking-pi/NOTICE
|
|
4
|
+
+++ b/extensions/vendor/openviking-pi/NOTICE
|
|
5
|
+
@@ -53,6 +53,10 @@ Changed by the quickreviewd maintainers, 2026-08-20:
|
|
6
|
+
same memory areas (2026-10-07).
|
|
7
|
+
10. `viking_write` takes a structured `lesson` and writes the lesson's
|
|
8
|
+
header line from it, refusing unknown lens ids (2026-10-07).
|
|
9
|
+
+ 11. A review session's recall fails closed to its memory areas when its
|
|
10
|
+
+ hint is missing, its search ranks inside those areas, and it may not
|
|
11
|
+
+ write lessons, pinned entries or cases; a hand-typed lesson header is
|
|
12
|
+
+ refused (2026-10-07).
|
|
13
|
+
|
|
14
|
+
Plus vendoring scaffolding: build-conformance fixes for this repo's stricter
|
|
15
|
+
tsconfig, ambient type declarations for uninstalled packages, three unused
|
|
16
|
+
diff --git a/extensions/vendor/openviking-pi/README.md b/extensions/vendor/openviking-pi/README.md
|
|
17
|
+
index cb9b8b6c..bcef72e8 100644
|
|
18
|
+
--- a/extensions/vendor/openviking-pi/README.md
|
|
19
|
+
+++ b/extensions/vendor/openviking-pi/README.md
|
|
20
|
+
@@ -1,7 +1,7 @@
|
|
21
|
+
# openviking-pi — vendored, patched fork
|
|
22
|
+
|
|
23
|
+
The OpenViking pi extension our sessions load. Vendored, not depended on:
|
|
24
|
+
-upstream ships it as an `examples/` directory, not a package, and we need ten
|
|
25
|
+
+upstream ships it as an `examples/` directory, not a package, and we need eleven
|
|
26
|
+
behaviour changes that upstream has no reason to make.
|
|
27
|
+
|
|
28
|
+
| | |
|
|
29
|
+
@@ -20,7 +20,7 @@ fails on drift between the two.
|
|
30
|
+
|
|
31
|
+
## Why a fork rather than configuration
|
|
32
|
+
|
|
33
|
+
-Every one of the ten patches was tried as configuration first and does not
|
|
34
|
+
+Every one of the eleven patches was tried as configuration first and does not
|
|
35
|
+
exist there. The evidence is a spike against a **running v0.4.15 server plus
|
|
36
|
+
the pinned pi 0.84.1** — `assets/findings.md` in the issue tracker,
|
|
37
|
+
with transcripts. Read it before changing anything here; several of its
|
|
38
|
+
@@ -28,9 +28,9 @@ findings contradict the OpenViking docs, which lead the tag.
|
|
39
|
+
|
|
40
|
+
## The patch series
|
|
41
|
+
|
|
42
|
+
-Ten numbered behaviour patches, applied in order over the vendored upstream
|
|
43
|
+
+Eleven numbered behaviour patches, applied in order over the vendored upstream
|
|
44
|
+
files, plus one unnumbered scaffolding patch. They live in `patches/` as
|
|
45
|
+
-`git apply`-able diffs — verified by applying all eleven, in order, to a
|
|
46
|
+
+`git apply`-able diffs — verified by applying all twelve, in order, to a
|
|
47
|
+
pristine `v0.4.15` extraction and diffing the result against this directory:
|
|
48
|
+
byte-identical. (`patches/` and `upstream.json` are meta and are not themselves
|
|
49
|
+
part of the reproduced tree.) Every hunk they add carries a greppable marker:
|
|
50
|
+
@@ -355,7 +355,7 @@ in the chain), `index.ts` (the hint, the banner).
|
|
51
|
+
PATCH 8 kept the per-prompt RECALL inside the round's areas, but a PR session
|
|
52
|
+
also holds the explicit tools, and `viking_search` sent whatever `scope` the
|
|
53
|
+
model chose straight to the server — so a review round could reach the
|
|
54
|
+
-daemon's finding cases (`cases/`, which quote PR authors' replies: untrusted
|
|
55
|
+
+daemon's finding cases (`finding-cases/`, which quote PR authors' replies: untrusted
|
|
56
|
+
text) and the full-text `[feedback]` events, both of which the spec keeps out
|
|
57
|
+
of a round until S9 decides how they are delivered.
|
|
58
|
+
|
|
59
|
+
@@ -403,6 +403,38 @@ raise X", or which candidate it adopted.
|
|
60
|
+
Touches: `qcr-lesson.ts` (new), `qcr-write.ts` (the builder), `tools.ts` (the
|
|
61
|
+
schema and one guideline).
|
|
62
|
+
|
|
63
|
+
+### 0011 — the review session's memory boundary, closed (integration review)
|
|
64
|
+
+
|
|
65
|
+
+PATCHES 8 and 9 drew the boundary — a PR session's recall and tools reach the
|
|
66
|
+
+round's areas (`experiences/`) only — and the integration review found three
|
|
67
|
+
+ways through it once the case backfill filled `finding-cases/`:
|
|
68
|
+
+
|
|
69
|
+
+* **The recall failed OPEN.** With no hint file yet — a recheck or ping-pong
|
|
70
|
+
+ wake before the PR's next full round, i.e. every live PR right after the
|
|
71
|
+
+ deploy, or a hint write that failed — the recall searched the whole tree,
|
|
72
|
+
+ cases and full-text `[feedback]` events included, while the tools in the
|
|
73
|
+
+ same state already failed closed. `recallScope` (qcr-hint.ts) now asks with
|
|
74
|
+
+ the prompt INSIDE the round's areas whenever the hint variable is set; only a
|
|
75
|
+
+ session without the variable (the overseer, the companion) is unscoped.
|
|
76
|
+
+* **A scoped search ranked across the tree and filtered afterwards.** `find`
|
|
77
|
+
+ answered the top K of the WHOLE user root and the tool dropped what lay
|
|
78
|
+
+ outside the areas — with ~1,800 cases beside ~180 curated entries, mostly
|
|
79
|
+
+ "No results found." `viking_search` and the recall's raw-find fallback now
|
|
80
|
+
+ send the areas as the server's `target_uri` LIST (`scopedFindTargets`;
|
|
81
|
+
+ `client.find` takes a list), so the server ranks inside them; the fallback's
|
|
82
|
+
+ skills source is not asked at all in a scoped session. The post-filter stays
|
|
83
|
+
+ as the belt.
|
|
84
|
+
+* **A PR session could write what reaches every round.** `viking_write` in a
|
|
85
|
+
+ scoped session refuses `experiences/`, `preferences/` (the pinned head
|
|
86
|
+
+ included) and `finding-cases/` (`scopedWriteRefusal`): a review session
|
|
87
|
+
+ reads untrusted PR text, and a lesson is curated from people's outcomes, not
|
|
88
|
+
+ from its conclusions. And in ANY session a hand-typed `#lesson` header (no
|
|
89
|
+
+ `lesson` parameter) is refused (`handTypedLessonRefusal`) — the header is the
|
|
90
|
+
+ tool's to write; a typed one would adopt learner candidates unchecked.
|
|
91
|
+
+
|
|
92
|
+
+Touches: `qcr-hint.ts`, `qcr-lesson.ts`, `qcr-write.ts`, `tools.ts`,
|
|
93
|
+
+`index.ts`, `client.ts`.
|
|
94
|
+
+
|
|
95
|
+
## Rebasing onto a newer upstream
|
|
96
|
+
|
|
97
|
+
```sh
|
|
98
|
+
@@ -415,7 +447,7 @@ git -C /tmp/ov checkout <new-tag>
|
|
99
|
+
for p in extensions/vendor/openviking-pi/patches/0*.patch; do
|
|
100
|
+
git apply --3way "$p" || echo "RESOLVE: $p"
|
|
101
|
+
done
|
|
102
|
+
-# 3. Re-verify all ten patches, then:
|
|
103
|
+
+# 3. Re-verify all eleven patches, then:
|
|
104
|
+
timeout 900 npm test && npm run build
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
diff --git a/extensions/vendor/openviking-pi/client.ts b/extensions/vendor/openviking-pi/client.ts
|
|
108
|
+
index 2e1a938c..e3c4fbb9 100644
|
|
109
|
+
--- a/extensions/vendor/openviking-pi/client.ts
|
|
110
|
+
+++ b/extensions/vendor/openviking-pi/client.ts
|
|
111
|
+
@@ -312,10 +312,13 @@ export class OVClient {
|
|
112
|
+
* failure is now a failure the tool can name (`failureText`). */
|
|
113
|
+
async find(
|
|
114
|
+
query: string,
|
|
115
|
+
- opts?: { targetUri?: string; topK?: number; scoreThreshold?: number },
|
|
116
|
+
+ // [QCR PATCH 11] a `target_uri` LIST too (the server takes one): a scoped
|
|
117
|
+
+ // session searches inside its areas, not across the tree.
|
|
118
|
+
+ opts?: { targetUri?: string | string[]; topK?: number; scoreThreshold?: number },
|
|
119
|
+
): Promise<OVResponse<OVSearchResult[]>> {
|
|
120
|
+
const body: Record<string, unknown> = { query };
|
|
121
|
+
- if (opts?.targetUri) body.target_uri = opts.targetUri;
|
|
122
|
+
+ if (Array.isArray(opts?.targetUri) ? opts.targetUri.length > 0 : opts?.targetUri)
|
|
123
|
+
+ body.target_uri = opts!.targetUri;
|
|
124
|
+
if (opts?.topK) body.limit = opts.topK;
|
|
125
|
+
if (opts?.scoreThreshold) body.score_threshold = opts.scoreThreshold;
|
|
126
|
+
|
|
127
|
+
diff --git a/extensions/vendor/openviking-pi/index.ts b/extensions/vendor/openviking-pi/index.ts
|
|
128
|
+
index f628e5b9..f4756aa8 100644
|
|
129
|
+
--- a/extensions/vendor/openviking-pi/index.ts
|
|
130
|
+
+++ b/extensions/vendor/openviking-pi/index.ts
|
|
131
|
+
@@ -56,7 +56,9 @@ import { ownNamespaceName, resolveExtraNamespaces } from "./qcr-namespaces.js";
|
|
132
|
+
// [QCR PATCH 7]
|
|
133
|
+
import { readRetiredUris, RECALL_WAIT_MS, RETIRED_FILE_ENV } from "./qcr-recall.js";
|
|
134
|
+
// [QCR PATCH 8]
|
|
135
|
+
-import { readRecallHint, RECALL_HINT_FILE_ENV } from "./qcr-hint.js";
|
|
136
|
+
+import { RECALL_HINT_FILE_ENV } from "./qcr-hint.js";
|
|
137
|
+
+// [QCR PATCH 11]
|
|
138
|
+
+import { recallScope } from "./qcr-hint.js";
|
|
139
|
+
// [QCR PATCH 9]
|
|
140
|
+
import { toolScopeAreas, toolScopeNote } from "./qcr-hint.js";
|
|
141
|
+
|
|
142
|
+
@@ -243,9 +245,12 @@ export default async function (pi: ExtensionAPI) {
|
|
143
|
+
// that hook, so recall latency does not delay the message appearing.
|
|
144
|
+
// [QCR PATCH 8] A PR session asks with its PR's query, inside the round's
|
|
145
|
+
// areas — the daemon's hint, re-read for every prompt (a small local
|
|
146
|
+
- // file). No hint (the overseer, the companion): the prompt, unscoped.
|
|
147
|
+
- const hint = readRecallHint(process.env[RECALL_HINT_FILE_ENV]);
|
|
148
|
+
- recall.queueSearch(hint ? hint.query : event.prompt, hint ? hint.areas : null);
|
|
149
|
+
+ // file). No hint variable (the overseer, the companion): the prompt,
|
|
150
|
+
+ // unscoped. [QCR PATCH 11] A PR session whose hint is not there yet (a
|
|
151
|
+
+ // recheck or ping-pong wake before its next round) asks with the prompt
|
|
152
|
+
+ // INSIDE the round's areas — fail closed, as the tools do.
|
|
153
|
+
+ const plan = recallScope(process.env[RECALL_HINT_FILE_ENV], event.prompt);
|
|
154
|
+
+ recall.queueSearch(plan.query, plan.areas);
|
|
155
|
+
|
|
156
|
+
// Compose system prompt additions
|
|
157
|
+
const parts: string[] = [];
|
|
158
|
+
diff --git a/extensions/vendor/openviking-pi/qcr-hint.ts b/extensions/vendor/openviking-pi/qcr-hint.ts
|
|
159
|
+
index 5c3a38ca..8661dc5c 100644
|
|
160
|
+
--- a/extensions/vendor/openviking-pi/qcr-hint.ts
|
|
161
|
+
+++ b/extensions/vendor/openviking-pi/qcr-hint.ts
|
|
162
|
+
@@ -22,14 +22,46 @@
|
|
163
|
+
// [QCR PATCH 9] (S7) The same areas bound the session's memory
|
|
164
|
+
// TOOLS: in a PR session `viking_search` keeps only hits inside them and
|
|
165
|
+
// `viking_read` / `viking_browse` refuse a memory URI outside them. Cases
|
|
166
|
+
-// (`cases/`, the daemon's finding cases — human replies quoted as data) and
|
|
167
|
+
+// (`finding-cases/`, the daemon's finding cases — human replies quoted as data) and
|
|
168
|
+
// feedback events are the learner's context, not a round's, until S9.
|
|
169
|
+
+//
|
|
170
|
+
+// [QCR PATCH 11] (integration review) Three holes in that boundary:
|
|
171
|
+
+// * the RECALL failed OPEN: a PR session whose hint was not written yet (a
|
|
172
|
+
+// recheck or ping-pong wake before its next full round — every live PR
|
|
173
|
+
+// right after the deploy) recalled across the whole tree, cases and
|
|
174
|
+
+// feedback events included. It now fails CLOSED, as the tools always did
|
|
175
|
+
+// (`recallScope`);
|
|
176
|
+
+// * a scoped SEARCH asked the server for a global top-K and filtered after:
|
|
177
|
+
+// with ~1,800 cases beside ~180 curated entries, the top 10 was mostly
|
|
178
|
+
+// cases and the session's search said "No results found." Both the tool
|
|
179
|
+
+// and the recall's raw-find fallback now name the areas as the server's
|
|
180
|
+
+// `target_uri` list (`scopedFindTargets`, `scopeGuard`);
|
|
181
|
+
+// * a PR session could WRITE a lesson or a pinned entry from its own
|
|
182
|
+
+// conclusions while reading untrusted PR text: `viking_write` now refuses
|
|
183
|
+
+// `experiences/`, `preferences/` (the pinned head included) and
|
|
184
|
+
+// `finding-cases/` in a scoped session (`scopedWriteRefusal`).
|
|
185
|
+
import { readFileSync } from "node:fs";
|
|
186
|
+
import { renderContextEntry, type FetchLike } from "./qcr-recall.js";
|
|
187
|
+
|
|
188
|
+
/** Where the daemon publishes this session's hint (PR sessions only). */
|
|
189
|
+
export const RECALL_HINT_FILE_ENV = "QCR_OV_RECALL_HINT_FILE";
|
|
190
|
+
|
|
191
|
+
+/** [QCR PATCH 11] What one recall asks and where: the hint's query and
|
|
192
|
+
+ * areas when the daemon published one; for a PR session (the hint variable
|
|
193
|
+
+ * set) whose hint cannot be read, the prompt INSIDE the round's areas — never
|
|
194
|
+
+ * the whole tree; for any other session (no variable: the overseer, the
|
|
195
|
+
+ * companion) the prompt, unscoped, as upstream. Total. */
|
|
196
|
+
+export function recallScope(
|
|
197
|
+
+ path: string | undefined,
|
|
198
|
+
+ prompt: string,
|
|
199
|
+
+ read: (p: string) => string = defaultRead,
|
|
200
|
+
+): { query: string; areas: readonly string[] | null } {
|
|
201
|
+
+ const hint = readRecallHint(path, read);
|
|
202
|
+
+ if (hint) return { query: hint.query, areas: hint.areas };
|
|
203
|
+
+ if (!path || path.trim() === "") return { query: prompt, areas: null };
|
|
204
|
+
+ return { query: prompt, areas: toolScopeAreas(path, read) ?? DEFAULT_ROUND_AREAS };
|
|
205
|
+
+}
|
|
206
|
+
+
|
|
207
|
+
/** The daemon caps its query at 600 characters (`ROUND_CONTEXT_DEFAULTS`);
|
|
208
|
+
* a longer one in the file is cut, not refused. */
|
|
209
|
+
export const MAX_HINT_QUERY_CHARS = 600;
|
|
210
|
+
@@ -121,6 +153,24 @@ export function scopeGuard(inner: FetchLike, areas: () => readonly string[] | nu
|
|
211
|
+
sent = init;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
+ // [QCR PATCH 11] The raw-find fallback names its target: a memories ROOT
|
|
215
|
+
+ // becomes the areas inside it (one request, a `target_uri` list — the
|
|
216
|
+
+ // server ranks inside them, so cases can never crowd a lesson out of the
|
|
217
|
+
+ // top K), and the skills source is not asked at all.
|
|
218
|
+
+ if (path === FIND_PATH && typeof init?.body === "string") {
|
|
219
|
+
+ try {
|
|
220
|
+
+ const body = JSON.parse(init.body) as Record<string, unknown>;
|
|
221
|
+
+ const target = typeof body["target_uri"] === "string" ? body["target_uri"] : "";
|
|
222
|
+
+ if (target !== "" && memoryAreaOf(target) === null)
|
|
223
|
+
+ return { ok: true, status: 200, result: { memories: [], resources: [], skills: [] } };
|
|
224
|
+
+ if (target === "" || memoryAreaOf(target) === "") {
|
|
225
|
+
+ body["target_uri"] = scopedFindTargets(scope, target === "" ? undefined : target);
|
|
226
|
+
+ sent = { ...init, body: JSON.stringify(body) };
|
|
227
|
+
+ }
|
|
228
|
+
+ } catch {
|
|
229
|
+
+ sent = init;
|
|
230
|
+
+ }
|
|
231
|
+
+ }
|
|
232
|
+
const res = await inner(path, sent, options);
|
|
233
|
+
if (!res?.ok || !res.result || typeof res.result !== "object") return res;
|
|
234
|
+
if (CONTEXT_PATHS.has(path) && Array.isArray(res.result.entries)) {
|
|
235
|
+
@@ -213,6 +263,42 @@ export function browsableInScope(uri: unknown, areas: readonly string[]): boolea
|
|
236
|
+
return area === null || area === "" || areas.includes(area);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
+/** [QCR PATCH 11] Where a scoped session's search is sent: the model's own
|
|
240
|
+
+ * scope when it lies inside one of the areas, else every area under the
|
|
241
|
+
+ * memories root it named (or the user's own, `viking://user/memories`) — a
|
|
242
|
+
+ * `target_uri` list, so the server ranks INSIDE the areas rather than across
|
|
243
|
+
+ * the whole tree with the rest filtered away afterwards. */
|
|
244
|
+
+export function scopedFindTargets(areas: readonly string[], scope?: string): string[] {
|
|
245
|
+
+ if (typeof scope === "string" && readableInScope(scope, areas)) return [scope];
|
|
246
|
+
+ let root = "viking://user/memories";
|
|
247
|
+
+ if (typeof scope === "string" && memoryAreaOf(scope) === "" && !DOT_SEGMENT.test(scope))
|
|
248
|
+
+ root = scope.replace(/\/+$/, "");
|
|
249
|
+
+ return areas.map((a) => `${root}/${a}`);
|
|
250
|
+
+}
|
|
251
|
+
+
|
|
252
|
+
+/** [QCR PATCH 11] The memory areas a scoped (PR) session may never write:
|
|
253
|
+
+ * curated lessons and the owner's words — both reach every round — and the
|
|
254
|
+
+ * daemon's own finding cases. A review session reads untrusted PR text; what
|
|
255
|
+
+ * it concludes is not a lesson until a person's outcome makes it one. */
|
|
256
|
+
+export const SCOPED_WRITE_REFUSED_AREAS: readonly string[] = [
|
|
257
|
+
+ "experiences",
|
|
258
|
+
+ "preferences",
|
|
259
|
+
+ "finding-cases",
|
|
260
|
+
+];
|
|
261
|
+
+
|
|
262
|
+
+/** The refusal for a scoped session's write into a protected area, or null. */
|
|
263
|
+
+export function scopedWriteRefusal(uris: readonly string[]): string | null {
|
|
264
|
+
+ const hit = uris.find((u) => {
|
|
265
|
+
+ const area = memoryAreaOf(u);
|
|
266
|
+
+ return area !== null && SCOPED_WRITE_REFUSED_AREAS.includes(area);
|
|
267
|
+
+ });
|
|
268
|
+
+ if (hit === undefined) return null;
|
|
269
|
+
+ return (
|
|
270
|
+
+ `Refusing to write ${hit}: a review session does not write ${SCOPED_WRITE_REFUSED_AREAS.map((a) => `${a}/`).join(", ")} — ` +
|
|
271
|
+
+ "lessons are curated from people's outcomes at the end of the day, the pinned instructions are the owner's, and cases are the daemon's. Nothing was written."
|
|
272
|
+
+ );
|
|
273
|
+
+}
|
|
274
|
+
+
|
|
275
|
+
/** The sentence a refused tool call answers with. */
|
|
276
|
+
export function scopeRefusal(uri: string, areas: readonly string[]): string {
|
|
277
|
+
return (
|
|
278
|
+
diff --git a/extensions/vendor/openviking-pi/qcr-lesson.ts b/extensions/vendor/openviking-pi/qcr-lesson.ts
|
|
279
|
+
index 0ecb19d6..0c3a3d60 100644
|
|
280
|
+
--- a/extensions/vendor/openviking-pi/qcr-lesson.ts
|
|
281
|
+
+++ b/extensions/vendor/openviking-pi/qcr-lesson.ts
|
|
282
|
+
@@ -173,6 +173,33 @@ export function buildLessonHeader(
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
+/**
|
|
287
|
+
+ * [QCR PATCH 11] The `#hash` tags an entry's HEADER carries — the leading run
|
|
288
|
+
+ * of `#…` tokens, exactly the daemon's reader (src/memory/eventtags.ts
|
|
289
|
+
+ * `parseHashTags`, pinned equal by test). A typed lesson is an entry whose
|
|
290
|
+
+ * header carries `#lesson`.
|
|
291
|
+
+ */
|
|
292
|
+
+export function headerHashTags(text: string): string[] {
|
|
293
|
+
+ const out: string[] = [];
|
|
294
|
+
+ for (const token of String(text ?? "").split(/\s+/)) {
|
|
295
|
+
+ if (token === "") continue;
|
|
296
|
+
+ if (!token.startsWith("#")) break;
|
|
297
|
+
+ const tag = token.slice(1).toLowerCase();
|
|
298
|
+
+ if (tag !== "" && !out.includes(tag)) out.push(tag);
|
|
299
|
+
+ }
|
|
300
|
+
+ return out;
|
|
301
|
+
+}
|
|
302
|
+
+
|
|
303
|
+
+/** [QCR PATCH 11] The refusal for content that types a lesson header by hand
|
|
304
|
+
+ * (no `lesson` parameter), or null. The header is the tool's to write: a
|
|
305
|
+
+ * hand-typed `#lesson … evidence=cand:c<id>` line would adopt learner
|
|
306
|
+
+ * candidates with no field checked — and a review session reading untrusted
|
|
307
|
+
+ * PR text could be talked into writing one (integration review). */
|
|
308
|
+
+export function handTypedLessonRefusal(content: unknown): string | null {
|
|
309
|
+
+ if (!headerHashTags(String(content ?? "").trim()).includes("lesson")) return null;
|
|
310
|
+
+ return "Refusing a hand-typed `#lesson` header: write a lesson with the `lesson` parameter {kind, lens, class, paths, evidence} — the tool writes the header — and start `content` with the lesson's prose.";
|
|
311
|
+
+}
|
|
312
|
+
+
|
|
313
|
+
/**
|
|
314
|
+
* The content of a lesson entry: the rendered header on the first line, the
|
|
315
|
+
* author's prose after it. Refused when the target is not in `experiences/`
|
|
316
|
+
diff --git a/extensions/vendor/openviking-pi/qcr-write.ts b/extensions/vendor/openviking-pi/qcr-write.ts
|
|
317
|
+
index 76e6f059..d10a0cc7 100644
|
|
318
|
+
--- a/extensions/vendor/openviking-pi/qcr-write.ts
|
|
319
|
+
+++ b/extensions/vendor/openviking-pi/qcr-write.ts
|
|
320
|
+
@@ -26,6 +26,8 @@ import { createHash } from "node:crypto";
|
|
321
|
+
import { routeNamespace, type NamespaceRoute } from "./qcr-namespaces.js";
|
|
322
|
+
// [QCR PATCH 10] a typed lesson's header is rendered from `lesson`
|
|
323
|
+
import { withLessonHeader } from "./qcr-lesson.js";
|
|
324
|
+
+// [QCR PATCH 11] …and only from `lesson`: never typed by hand
|
|
325
|
+
+import { handTypedLessonRefusal } from "./qcr-lesson.js";
|
|
326
|
+
|
|
327
|
+
/** Memory targets keep a text-extension allowlist server-side; these are the
|
|
328
|
+
* two we ever author. */
|
|
329
|
+
@@ -199,6 +201,10 @@ export function buildWriteRequest(input: WriteRequestInput): WriteRequestResult
|
|
330
|
+
if (!lesson.ok) return { ok: false, error: lesson.error };
|
|
331
|
+
content = lesson.content;
|
|
332
|
+
if (!tags.tags.includes("lesson") && tags.tags.length < MAX_TAGS) tags.tags.push("lesson");
|
|
333
|
+
+ } else {
|
|
334
|
+
+ // [QCR PATCH 11]
|
|
335
|
+
+ const handTyped = handTypedLessonRefusal(input.content);
|
|
336
|
+
+ if (handTyped) return { ok: false, error: handTyped };
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
const body = renderMemoryBody(content, tags.tags);
|
|
340
|
+
diff --git a/extensions/vendor/openviking-pi/tools.ts b/extensions/vendor/openviking-pi/tools.ts
|
|
341
|
+
index 5eef127e..946e6b09 100644
|
|
342
|
+
--- a/extensions/vendor/openviking-pi/tools.ts
|
|
343
|
+
+++ b/extensions/vendor/openviking-pi/tools.ts
|
|
344
|
+
@@ -17,6 +17,8 @@ import {
|
|
345
|
+
readableInScope,
|
|
346
|
+
scopeRefusal,
|
|
347
|
+
} from "./qcr-hint.js";
|
|
348
|
+
+// [QCR PATCH 11]
|
|
349
|
+
+import { scopedFindTargets, scopedWriteRefusal } from "./qcr-hint.js";
|
|
350
|
+
|
|
351
|
+
/** [QCR PATCH 5] One memory namespace the tools can address: a name the model
|
|
352
|
+
* uses and the client holding that namespace's USER key. */
|
|
353
|
+
@@ -130,8 +132,11 @@ export function registerTools(
|
|
354
|
+
details: { error: true, refused: true },
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
+ // [QCR PATCH 11] …and asks the server for the top K INSIDE them (a
|
|
358
|
+
+ // `target_uri` list), never a global top K filtered afterwards — the
|
|
359
|
+
+ // finding cases outnumber the lessons ten to one.
|
|
360
|
+
const res = await ns.client.find(params.query, {
|
|
361
|
+
- targetUri: params.scope,
|
|
362
|
+
+ targetUri: areas ? scopedFindTargets(areas, params.scope) : params.scope,
|
|
363
|
+
topK: params.limit ?? 10,
|
|
364
|
+
});
|
|
365
|
+
// [QCR PATCH 6] A failure is said as one — never "No results found".
|
|
366
|
+
@@ -359,6 +364,16 @@ export function registerTools(
|
|
367
|
+
if (!built.ok) {
|
|
368
|
+
return { content: [{ type: "text", text: built.error }], details: { written: false } };
|
|
369
|
+
}
|
|
370
|
+
+ // [QCR PATCH 11] A review session (scoped) writes no lesson, no
|
|
371
|
+
+ // pinned or owner entry, and no case.
|
|
372
|
+
+ const writeAreas = scopeAreas();
|
|
373
|
+
+ const writeRefused = writeAreas ? scopedWriteRefusal(built.entries.map((e) => e.uri)) : null;
|
|
374
|
+
+ if (writeRefused) {
|
|
375
|
+
+ return {
|
|
376
|
+
+ content: [{ type: "text", text: scoped(ns, writeRefused) }],
|
|
377
|
+
+ details: { written: false, refused: true },
|
|
378
|
+
+ };
|
|
379
|
+
+ }
|
|
380
|
+
|
|
381
|
+
const res = await ns.client.batchWrite(built.request);
|
|
382
|
+
if (!res.ok) {
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
diff --git a/extensions/vendor/openviking-pi/NOTICE b/extensions/vendor/openviking-pi/NOTICE
|
|
2
|
+
index 931856dc..ebbb0083 100644
|
|
3
|
+
--- a/extensions/vendor/openviking-pi/NOTICE
|
|
4
|
+
+++ b/extensions/vendor/openviking-pi/NOTICE
|
|
5
|
+
@@ -59,7 +59,7 @@ Changed by the quickreviewd maintainers, 2026-08-20:
|
|
6
|
+
refused (2026-10-07).
|
|
7
|
+
|
|
8
|
+
Plus vendoring scaffolding: build-conformance fixes for this repo's stricter
|
|
9
|
+
-tsconfig, ambient type declarations for uninstalled packages, three unused
|
|
10
|
+
-files dropped, and a guard that refuses to authenticate with the OpenViking
|
|
11
|
+
-server's root API key. The full delta is in `patches/` and every changed hunk
|
|
12
|
+
+tsconfig (ambient type declarations while pi was not installed, retired once
|
|
13
|
+
+it became a dependency), three unused files dropped, and a guard that refuses
|
|
14
|
+
+to authenticate with the OpenViking server's root API key. The full delta is in `patches/` and every changed hunk
|
|
15
|
+
carries a `[QCR PATCH n]` or `[QCR build conformance]` marker. See README.md.
|
|
16
|
+
diff --git a/extensions/vendor/openviking-pi/README.md b/extensions/vendor/openviking-pi/README.md
|
|
17
|
+
index bcef72e8..1de7b943 100644
|
|
18
|
+
--- a/extensions/vendor/openviking-pi/README.md
|
|
19
|
+
+++ b/extensions/vendor/openviking-pi/README.md
|
|
20
|
+
@@ -29,8 +29,8 @@ findings contradict the OpenViking docs, which lead the tag.
|
|
21
|
+
## The patch series
|
|
22
|
+
|
|
23
|
+
Eleven numbered behaviour patches, applied in order over the vendored upstream
|
|
24
|
+
-files, plus one unnumbered scaffolding patch. They live in `patches/` as
|
|
25
|
+
-`git apply`-able diffs — verified by applying all twelve, in order, to a
|
|
26
|
+
+files, plus two unnumbered build patches (0000 scaffolding, 0012 typing). They live in `patches/` as
|
|
27
|
+
+`git apply`-able diffs — verified by applying all thirteen, in order, to a
|
|
28
|
+
pristine `v0.4.15` extraction and diffing the result against this directory:
|
|
29
|
+
byte-identical. (`patches/` and `upstream.json` are meta and are not themselves
|
|
30
|
+
part of the reproduced tree.) Every hunk they add carries a greppable marker:
|
|
31
|
+
@@ -45,8 +45,8 @@ grep -rn "QCR PATCH" extensions/vendor/openviking-pi
|
|
32
|
+
the files were modified); this README.
|
|
33
|
+
* `vendor-pi-types.d.ts` — ambient declarations for
|
|
34
|
+
`@earendil-works/pi-coding-agent` (`ExtensionAPI`), `typebox` and
|
|
35
|
+
- `@earendil-works/pi-ai`. None is installed here; pi lives only in the
|
|
36
|
+
- container. This repo's `tsconfig.json` compiles `extensions/**/*.ts`, so the
|
|
37
|
+
+ `@earendil-works/pi-ai`, written while pi was not installed here. Retired
|
|
38
|
+
+ by 0012. This repo's `tsconfig.json` compiles `extensions/**/*.ts`, so the
|
|
39
|
+
fork is typechecked even though it is never emitted.
|
|
40
|
+
* Three `[QCR build conformance]` fixes in `client.ts` for `strict` +
|
|
41
|
+
`noUncheckedIndexedAccess`.
|
|
42
|
+
@@ -435,6 +435,17 @@ ways through it once the case backfill filled `finding-cases/`:
|
|
43
|
+
Touches: `qcr-hint.ts`, `qcr-lesson.ts`, `qcr-write.ts`, `tools.ts`,
|
|
44
|
+
`index.ts`, `client.ts`.
|
|
45
|
+
|
|
46
|
+
+### 0012 — typechecked against the real pi *(not a behaviour patch)*
|
|
47
|
+
+
|
|
48
|
+
+pi and pi-ai are exact dependencies of this repo (package.json), so the fork is
|
|
49
|
+
+typechecked against pi's own types and `vendor-pi-types.d.ts` is deleted. The
|
|
50
|
+
+one type error that surfaced is `event.prompt` in `index.ts`'s
|
|
51
|
+
+`before_agent_start` hook: pi 1.3.0 types that event as a union whose custom
|
|
52
|
+
+variant has no `prompt`. The read is cast, not changed, so a custom event still
|
|
53
|
+
+passes `undefined` exactly as before. Marked `[QCR build conformance]`.
|
|
54
|
+
+
|
|
55
|
+
+Touches: `index.ts`, `vendor-pi-types.d.ts` (deleted), this README.
|
|
56
|
+
+
|
|
57
|
+
## Rebasing onto a newer upstream
|
|
58
|
+
|
|
59
|
+
```sh
|
|
60
|
+
diff --git a/extensions/vendor/openviking-pi/index.ts b/extensions/vendor/openviking-pi/index.ts
|
|
61
|
+
index f4756aa8..c2a1ad97 100644
|
|
62
|
+
--- a/extensions/vendor/openviking-pi/index.ts
|
|
63
|
+
+++ b/extensions/vendor/openviking-pi/index.ts
|
|
64
|
+
@@ -249,7 +249,12 @@ export default async function (pi: ExtensionAPI) {
|
|
65
|
+
// unscoped. [QCR PATCH 11] A PR session whose hint is not there yet (a
|
|
66
|
+
// recheck or ping-pong wake before its next round) asks with the prompt
|
|
67
|
+
// INSIDE the round's areas — fail closed, as the tools do.
|
|
68
|
+
- const plan = recallScope(process.env[RECALL_HINT_FILE_ENV], event.prompt);
|
|
69
|
+
+ // [QCR build conformance] pi 1.3.0 types the event as a union whose custom
|
|
70
|
+
+ // variant has no `prompt`; the cast keeps the read exactly as it was.
|
|
71
|
+
+ const plan = recallScope(
|
|
72
|
+
+ process.env[RECALL_HINT_FILE_ENV],
|
|
73
|
+
+ (event as { prompt: string }).prompt,
|
|
74
|
+
+ );
|
|
75
|
+
recall.queueSearch(plan.query, plan.areas);
|
|
76
|
+
|
|
77
|
+
// Compose system prompt additions
|
|
78
|
+
diff --git a/extensions/vendor/openviking-pi/vendor-pi-types.d.ts b/extensions/vendor/openviking-pi/vendor-pi-types.d.ts
|
|
79
|
+
deleted file mode 100644
|
|
80
|
+
index fe4b98da..00000000
|
|
81
|
+
--- a/extensions/vendor/openviking-pi/vendor-pi-types.d.ts
|
|
82
|
+
+++ /dev/null
|
|
83
|
+
@@ -1,46 +0,0 @@
|
|
84
|
+
-// QCR FORK — file added for BUILD CONFORMANCE (not a numbered patch).
|
|
85
|
+
-//
|
|
86
|
+
-// `tsconfig.json` compiles `extensions/**/*.ts`, so the vendored fork is
|
|
87
|
+
-// typechecked by `npm run build` even though it is never emitted for use (pi
|
|
88
|
+
-// loads the .ts sources directly through jiti). None of the three packages the
|
|
89
|
+
-// upstream sources import is installed here — pi and its ecosystem live only
|
|
90
|
+
-// inside the container — so the slice each one uses is declared ambiently.
|
|
91
|
+
-//
|
|
92
|
+
-// This file merges with `extensions/pi-api.d.ts`, which already declares
|
|
93
|
+
-// `@earendil-works/pi-coding-agent` for our own extensions; ambient module
|
|
94
|
+
-// declarations merge, so both halves are visible everywhere.
|
|
95
|
+
-//
|
|
96
|
+
-// VERIFY-ON-PIN, every declaration below: nothing here is checked against the
|
|
97
|
+
-// real packages. Keep the shapes loose — a wrong-but-narrow type would turn a
|
|
98
|
+
-// working upstream call into a build error on the next rebase.
|
|
99
|
+
-
|
|
100
|
+
-declare module "@earendil-works/pi-coding-agent" {
|
|
101
|
+
- /** The object a pi extension's default export receives. Deliberately
|
|
102
|
+
- * permissive: the fork only ever calls `on`, `registerTool`,
|
|
103
|
+
- * `registerCommand` and (through takeover.ts) `appendEntry`. */
|
|
104
|
+
- export interface ExtensionAPI {
|
|
105
|
+
- on(event: string, handler: (event: any, ctx: any) => any): void;
|
|
106
|
+
- registerTool(definition: any): void;
|
|
107
|
+
- /** Typed just enough that the handler's parameters are not implicit
|
|
108
|
+
- * `any` under `strict` — the fork registers `/viking`. */
|
|
109
|
+
- registerCommand(
|
|
110
|
+
- name: string,
|
|
111
|
+
- definition: { description?: string; handler: (args: string, ctx: any) => any },
|
|
112
|
+
- ): void;
|
|
113
|
+
- appendEntry?(customType: string, data: any): void;
|
|
114
|
+
- getAllTools?(): unknown;
|
|
115
|
+
- [key: string]: unknown;
|
|
116
|
+
- }
|
|
117
|
+
-}
|
|
118
|
+
-
|
|
119
|
+
-declare module "typebox" {
|
|
120
|
+
- /** TypeBox schema builders. `any` on purpose — the fork uses Type.Object /
|
|
121
|
+
- * Type.String / Type.Number / Type.Optional / Type.Array as opaque schema
|
|
122
|
+
- * values that go straight to pi. */
|
|
123
|
+
- export const Type: any;
|
|
124
|
+
-}
|
|
125
|
+
-
|
|
126
|
+
-declare module "@earendil-works/pi-ai" {
|
|
127
|
+
- /** `StringEnum(["a","b"] as const)` — a TypeBox string-enum helper. */
|
|
128
|
+
- export function StringEnum(values: readonly string[]): any;
|
|
129
|
+
-}
|