nodebench-mcp 2.70.0 → 3.0.1
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/README.md +95 -41
- package/dist/agents/alertRouter.d.ts +38 -0
- package/dist/agents/alertRouter.js +151 -0
- package/dist/agents/alertRouter.js.map +1 -0
- package/dist/agents/entityMemory.d.ts +40 -0
- package/dist/agents/entityMemory.js +64 -0
- package/dist/agents/entityMemory.js.map +1 -0
- package/dist/agents/subAgents.d.ts +35 -0
- package/dist/agents/subAgents.js +62 -0
- package/dist/agents/subAgents.js.map +1 -0
- package/dist/benchmarks/benchmarkRunner.js +14 -0
- package/dist/benchmarks/benchmarkRunner.js.map +1 -1
- package/dist/benchmarks/chainEval.js +107 -0
- package/dist/benchmarks/chainEval.js.map +1 -1
- package/dist/benchmarks/llmJudgeEval.js +85 -0
- package/dist/benchmarks/llmJudgeEval.js.map +1 -1
- package/dist/benchmarks/searchQualityEval.js +118 -5
- package/dist/benchmarks/searchQualityEval.js.map +1 -1
- package/dist/cli/search.d.ts +13 -0
- package/dist/cli/search.js +130 -0
- package/dist/cli/search.js.map +1 -0
- package/dist/dashboard/operatingDashboardHtml.js +2 -1
- package/dist/dashboard/operatingDashboardHtml.js.map +1 -1
- package/dist/dashboard/operatingServer.js +3 -2
- package/dist/dashboard/operatingServer.js.map +1 -1
- package/dist/db.d.ts +6 -2
- package/dist/db.js +521 -6
- package/dist/db.js.map +1 -1
- package/dist/index.js +349 -67
- package/dist/index.js.map +1 -1
- package/dist/packageInfo.d.ts +3 -0
- package/dist/packageInfo.js +32 -0
- package/dist/packageInfo.js.map +1 -0
- package/dist/profiler/behaviorStore.d.ts +97 -0
- package/dist/profiler/behaviorStore.js +276 -0
- package/dist/profiler/behaviorStore.js.map +1 -0
- package/dist/profiler/eventCollector.d.ts +119 -0
- package/dist/profiler/eventCollector.js +267 -0
- package/dist/profiler/eventCollector.js.map +1 -0
- package/dist/profiler/index.d.ts +15 -0
- package/dist/profiler/index.js +16 -0
- package/dist/profiler/index.js.map +1 -0
- package/dist/profiler/mcpProxy.d.ts +49 -0
- package/dist/profiler/mcpProxy.js +123 -0
- package/dist/profiler/mcpProxy.js.map +1 -0
- package/dist/profiler/modelRouter.d.ts +30 -0
- package/dist/profiler/modelRouter.js +99 -0
- package/dist/profiler/modelRouter.js.map +1 -0
- package/dist/profiler/otelReceiver.d.ts +17 -0
- package/dist/profiler/otelReceiver.js +62 -0
- package/dist/profiler/otelReceiver.js.map +1 -0
- package/dist/profiler/proofEngine.d.ts +41 -0
- package/dist/profiler/proofEngine.js +93 -0
- package/dist/profiler/proofEngine.js.map +1 -0
- package/dist/profiler/workflowTemplates.d.ts +41 -0
- package/dist/profiler/workflowTemplates.js +95 -0
- package/dist/profiler/workflowTemplates.js.map +1 -0
- package/dist/providers/localMemoryProvider.js +3 -2
- package/dist/providers/localMemoryProvider.js.map +1 -1
- package/dist/runtimeConfig.d.ts +11 -0
- package/dist/runtimeConfig.js +27 -0
- package/dist/runtimeConfig.js.map +1 -0
- package/dist/sandboxApi.js +2 -1
- package/dist/sandboxApi.js.map +1 -1
- package/dist/security/auditLog.js +8 -3
- package/dist/security/auditLog.js.map +1 -1
- package/dist/subconscious/blocks.d.ts +43 -0
- package/dist/subconscious/blocks.js +158 -0
- package/dist/subconscious/blocks.js.map +1 -0
- package/dist/subconscious/classifier.d.ts +22 -0
- package/dist/subconscious/classifier.js +118 -0
- package/dist/subconscious/classifier.js.map +1 -0
- package/dist/subconscious/graphEngine.d.ts +65 -0
- package/dist/subconscious/graphEngine.js +234 -0
- package/dist/subconscious/graphEngine.js.map +1 -0
- package/dist/subconscious/index.d.ts +19 -0
- package/dist/subconscious/index.js +20 -0
- package/dist/subconscious/index.js.map +1 -0
- package/dist/subconscious/tools.d.ts +5 -0
- package/dist/subconscious/tools.js +255 -0
- package/dist/subconscious/tools.js.map +1 -0
- package/dist/subconscious/whisperPolicy.d.ts +20 -0
- package/dist/subconscious/whisperPolicy.js +171 -0
- package/dist/subconscious/whisperPolicy.js.map +1 -0
- package/dist/sweep/engine.d.ts +27 -0
- package/dist/sweep/engine.js +244 -0
- package/dist/sweep/engine.js.map +1 -0
- package/dist/sweep/index.d.ts +9 -0
- package/dist/sweep/index.js +8 -0
- package/dist/sweep/index.js.map +1 -0
- package/dist/sweep/sources/github_trending.d.ts +6 -0
- package/dist/sweep/sources/github_trending.js +37 -0
- package/dist/sweep/sources/github_trending.js.map +1 -0
- package/dist/sweep/sources/hackernews.d.ts +7 -0
- package/dist/sweep/sources/hackernews.js +57 -0
- package/dist/sweep/sources/hackernews.js.map +1 -0
- package/dist/sweep/sources/openbb_finance.d.ts +9 -0
- package/dist/sweep/sources/openbb_finance.js +46 -0
- package/dist/sweep/sources/openbb_finance.js.map +1 -0
- package/dist/sweep/sources/producthunt.d.ts +6 -0
- package/dist/sweep/sources/producthunt.js +41 -0
- package/dist/sweep/sources/producthunt.js.map +1 -0
- package/dist/sweep/sources/web_signals.d.ts +7 -0
- package/dist/sweep/sources/web_signals.js +63 -0
- package/dist/sweep/sources/web_signals.js.map +1 -0
- package/dist/sweep/sources/yahoo_finance.d.ts +6 -0
- package/dist/sweep/sources/yahoo_finance.js +47 -0
- package/dist/sweep/sources/yahoo_finance.js.map +1 -0
- package/dist/sweep/types.d.ts +50 -0
- package/dist/sweep/types.js +9 -0
- package/dist/sweep/types.js.map +1 -0
- package/dist/sync/founderEpisodeStore.d.ts +98 -0
- package/dist/sync/founderEpisodeStore.js +230 -0
- package/dist/sync/founderEpisodeStore.js.map +1 -0
- package/dist/sync/hyperloopArchive.d.ts +51 -0
- package/dist/sync/hyperloopArchive.js +153 -0
- package/dist/sync/hyperloopArchive.js.map +1 -0
- package/dist/sync/hyperloopEval.d.ts +123 -0
- package/dist/sync/hyperloopEval.js +389 -0
- package/dist/sync/hyperloopEval.js.map +1 -0
- package/dist/sync/protocol.d.ts +172 -0
- package/dist/sync/protocol.js +9 -0
- package/dist/sync/protocol.js.map +1 -0
- package/dist/sync/sessionMemory.d.ts +47 -0
- package/dist/sync/sessionMemory.js +138 -0
- package/dist/sync/sessionMemory.js.map +1 -0
- package/dist/sync/store.d.ts +384 -0
- package/dist/sync/store.js +1435 -0
- package/dist/sync/store.js.map +1 -0
- package/dist/sync/syncBridgeClient.d.ts +30 -0
- package/dist/sync/syncBridgeClient.js +172 -0
- package/dist/sync/syncBridgeClient.js.map +1 -0
- package/dist/tools/autonomousDeliveryTools.d.ts +2 -0
- package/dist/tools/autonomousDeliveryTools.js +1104 -0
- package/dist/tools/autonomousDeliveryTools.js.map +1 -0
- package/dist/tools/boilerplateTools.js +10 -9
- package/dist/tools/boilerplateTools.js.map +1 -1
- package/dist/tools/claudeCodeIngestTools.d.ts +10 -0
- package/dist/tools/claudeCodeIngestTools.js +347 -0
- package/dist/tools/claudeCodeIngestTools.js.map +1 -0
- package/dist/tools/coreWorkflowTools.d.ts +2 -0
- package/dist/tools/coreWorkflowTools.js +488 -0
- package/dist/tools/coreWorkflowTools.js.map +1 -0
- package/dist/tools/deltaTools.d.ts +15 -0
- package/dist/tools/deltaTools.js +1522 -0
- package/dist/tools/deltaTools.js.map +1 -0
- package/dist/tools/documentationTools.js +2 -1
- package/dist/tools/documentationTools.js.map +1 -1
- package/dist/tools/entityLookupTools.d.ts +14 -0
- package/dist/tools/entityLookupTools.js +159 -0
- package/dist/tools/entityLookupTools.js.map +1 -0
- package/dist/tools/entityTemporalTools.d.ts +12 -0
- package/dist/tools/entityTemporalTools.js +330 -0
- package/dist/tools/entityTemporalTools.js.map +1 -0
- package/dist/tools/founderLocalPipeline.d.ts +215 -0
- package/dist/tools/founderLocalPipeline.js +1516 -2
- package/dist/tools/founderLocalPipeline.js.map +1 -1
- package/dist/tools/founderOperatingModel.d.ts +120 -0
- package/dist/tools/founderOperatingModel.js +469 -0
- package/dist/tools/founderOperatingModel.js.map +1 -0
- package/dist/tools/founderOperatingModelTools.d.ts +2 -0
- package/dist/tools/founderOperatingModelTools.js +169 -0
- package/dist/tools/founderOperatingModelTools.js.map +1 -0
- package/dist/tools/founderStrategicOpsTools.d.ts +2 -0
- package/dist/tools/founderStrategicOpsTools.js +1310 -0
- package/dist/tools/founderStrategicOpsTools.js.map +1 -0
- package/dist/tools/graphifyTools.d.ts +19 -0
- package/dist/tools/graphifyTools.js +375 -0
- package/dist/tools/graphifyTools.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/monteCarloTools.d.ts +16 -0
- package/dist/tools/monteCarloTools.js +225 -0
- package/dist/tools/monteCarloTools.js.map +1 -0
- package/dist/tools/packetCompilerTools.d.ts +12 -0
- package/dist/tools/packetCompilerTools.js +322 -0
- package/dist/tools/packetCompilerTools.js.map +1 -0
- package/dist/tools/planSynthesisTools.d.ts +15 -0
- package/dist/tools/planSynthesisTools.js +455 -0
- package/dist/tools/planSynthesisTools.js.map +1 -0
- package/dist/tools/profilerTools.d.ts +20 -0
- package/dist/tools/profilerTools.js +364 -0
- package/dist/tools/profilerTools.js.map +1 -0
- package/dist/tools/progressiveDiscoveryTools.js +2 -1
- package/dist/tools/progressiveDiscoveryTools.js.map +1 -1
- package/dist/tools/savingsTools.d.ts +11 -0
- package/dist/tools/savingsTools.js +155 -0
- package/dist/tools/savingsTools.js.map +1 -0
- package/dist/tools/scenarioCompilerTools.d.ts +14 -0
- package/dist/tools/scenarioCompilerTools.js +290 -0
- package/dist/tools/scenarioCompilerTools.js.map +1 -0
- package/dist/tools/sharedContextTools.d.ts +2 -0
- package/dist/tools/sharedContextTools.js +423 -0
- package/dist/tools/sharedContextTools.js.map +1 -0
- package/dist/tools/sitemapTools.d.ts +15 -0
- package/dist/tools/sitemapTools.js +560 -0
- package/dist/tools/sitemapTools.js.map +1 -0
- package/dist/tools/sweepTools.d.ts +9 -0
- package/dist/tools/sweepTools.js +112 -0
- package/dist/tools/sweepTools.js.map +1 -0
- package/dist/tools/syncBridgeTools.d.ts +2 -0
- package/dist/tools/syncBridgeTools.js +258 -0
- package/dist/tools/syncBridgeTools.js.map +1 -0
- package/dist/tools/toolRegistry.js +1223 -45
- package/dist/tools/toolRegistry.js.map +1 -1
- package/dist/tools/workspaceTools.d.ts +19 -0
- package/dist/tools/workspaceTools.js +762 -0
- package/dist/tools/workspaceTools.js.map +1 -0
- package/dist/toolsetRegistry.js +162 -3
- package/dist/toolsetRegistry.js.map +1 -1
- package/package.json +39 -38
- package/rules/nodebench-agentic-reliability.md +32 -0
- package/rules/nodebench-analyst-diagnostic.md +25 -0
- package/rules/nodebench-auto-qa.md +31 -0
- package/rules/nodebench-completion-traceability.md +22 -0
- package/rules/nodebench-flywheel-continuous.md +25 -0
- package/rules/nodebench-pre-release-review.md +24 -0
- package/rules/nodebench-qa-dogfood.md +26 -0
- package/rules/nodebench-scenario-testing.md +30 -0
- package/rules/nodebench-self-direction.md +23 -0
- package/rules/nodebench-self-judge-loop.md +24 -0
- package/scripts/install.sh +215 -0
- package/dist/__tests__/analytics.test.d.ts +0 -11
- package/dist/__tests__/analytics.test.js +0 -546
- package/dist/__tests__/analytics.test.js.map +0 -1
- package/dist/__tests__/architectComplex.test.d.ts +0 -1
- package/dist/__tests__/architectComplex.test.js +0 -373
- package/dist/__tests__/architectComplex.test.js.map +0 -1
- package/dist/__tests__/architectSmoke.test.d.ts +0 -1
- package/dist/__tests__/architectSmoke.test.js +0 -92
- package/dist/__tests__/architectSmoke.test.js.map +0 -1
- package/dist/__tests__/audit-registry.d.ts +0 -1
- package/dist/__tests__/audit-registry.js +0 -60
- package/dist/__tests__/audit-registry.js.map +0 -1
- package/dist/__tests__/batchAutopilot.test.d.ts +0 -8
- package/dist/__tests__/batchAutopilot.test.js +0 -218
- package/dist/__tests__/batchAutopilot.test.js.map +0 -1
- package/dist/__tests__/cliSubcommands.test.d.ts +0 -1
- package/dist/__tests__/cliSubcommands.test.js +0 -138
- package/dist/__tests__/cliSubcommands.test.js.map +0 -1
- package/dist/__tests__/comparativeBench.test.d.ts +0 -1
- package/dist/__tests__/comparativeBench.test.js +0 -722
- package/dist/__tests__/comparativeBench.test.js.map +0 -1
- package/dist/__tests__/critterCalibrationEval.d.ts +0 -8
- package/dist/__tests__/critterCalibrationEval.js +0 -370
- package/dist/__tests__/critterCalibrationEval.js.map +0 -1
- package/dist/__tests__/dynamicLoading.test.d.ts +0 -1
- package/dist/__tests__/dynamicLoading.test.js +0 -280
- package/dist/__tests__/dynamicLoading.test.js.map +0 -1
- package/dist/__tests__/embeddingProvider.test.d.ts +0 -1
- package/dist/__tests__/embeddingProvider.test.js +0 -86
- package/dist/__tests__/embeddingProvider.test.js.map +0 -1
- package/dist/__tests__/evalDatasetBench.test.d.ts +0 -1
- package/dist/__tests__/evalDatasetBench.test.js +0 -738
- package/dist/__tests__/evalDatasetBench.test.js.map +0 -1
- package/dist/__tests__/evalHarness.test.d.ts +0 -1
- package/dist/__tests__/evalHarness.test.js +0 -1107
- package/dist/__tests__/evalHarness.test.js.map +0 -1
- package/dist/__tests__/fixtures/bfcl_v3_long_context.sample.json +0 -264
- package/dist/__tests__/fixtures/generateBfclLongContextFixture.d.ts +0 -10
- package/dist/__tests__/fixtures/generateBfclLongContextFixture.js +0 -135
- package/dist/__tests__/fixtures/generateBfclLongContextFixture.js.map +0 -1
- package/dist/__tests__/fixtures/generateSwebenchVerifiedFixture.d.ts +0 -14
- package/dist/__tests__/fixtures/generateSwebenchVerifiedFixture.js +0 -189
- package/dist/__tests__/fixtures/generateSwebenchVerifiedFixture.js.map +0 -1
- package/dist/__tests__/fixtures/generateToolbenchInstructionFixture.d.ts +0 -16
- package/dist/__tests__/fixtures/generateToolbenchInstructionFixture.js +0 -154
- package/dist/__tests__/fixtures/generateToolbenchInstructionFixture.js.map +0 -1
- package/dist/__tests__/fixtures/swebench_verified.sample.json +0 -162
- package/dist/__tests__/fixtures/toolbench_instruction.sample.json +0 -109
- package/dist/__tests__/forecastingDogfood.test.d.ts +0 -9
- package/dist/__tests__/forecastingDogfood.test.js +0 -284
- package/dist/__tests__/forecastingDogfood.test.js.map +0 -1
- package/dist/__tests__/forecastingScoring.test.d.ts +0 -9
- package/dist/__tests__/forecastingScoring.test.js +0 -202
- package/dist/__tests__/forecastingScoring.test.js.map +0 -1
- package/dist/__tests__/gaiaCapabilityAudioEval.test.d.ts +0 -15
- package/dist/__tests__/gaiaCapabilityAudioEval.test.js +0 -265
- package/dist/__tests__/gaiaCapabilityAudioEval.test.js.map +0 -1
- package/dist/__tests__/gaiaCapabilityEval.test.d.ts +0 -14
- package/dist/__tests__/gaiaCapabilityEval.test.js +0 -1259
- package/dist/__tests__/gaiaCapabilityEval.test.js.map +0 -1
- package/dist/__tests__/gaiaCapabilityFilesEval.test.d.ts +0 -15
- package/dist/__tests__/gaiaCapabilityFilesEval.test.js +0 -914
- package/dist/__tests__/gaiaCapabilityFilesEval.test.js.map +0 -1
- package/dist/__tests__/gaiaCapabilityMediaEval.test.d.ts +0 -15
- package/dist/__tests__/gaiaCapabilityMediaEval.test.js +0 -1101
- package/dist/__tests__/gaiaCapabilityMediaEval.test.js.map +0 -1
- package/dist/__tests__/helpers/answerMatch.d.ts +0 -41
- package/dist/__tests__/helpers/answerMatch.js +0 -267
- package/dist/__tests__/helpers/answerMatch.js.map +0 -1
- package/dist/__tests__/helpers/textLlm.d.ts +0 -25
- package/dist/__tests__/helpers/textLlm.js +0 -214
- package/dist/__tests__/helpers/textLlm.js.map +0 -1
- package/dist/__tests__/localDashboard.test.d.ts +0 -1
- package/dist/__tests__/localDashboard.test.js +0 -226
- package/dist/__tests__/localDashboard.test.js.map +0 -1
- package/dist/__tests__/multiHopDogfood.test.d.ts +0 -12
- package/dist/__tests__/multiHopDogfood.test.js +0 -303
- package/dist/__tests__/multiHopDogfood.test.js.map +0 -1
- package/dist/__tests__/openDatasetParallelEval.test.d.ts +0 -7
- package/dist/__tests__/openDatasetParallelEval.test.js +0 -209
- package/dist/__tests__/openDatasetParallelEval.test.js.map +0 -1
- package/dist/__tests__/openDatasetParallelEvalGaia.test.d.ts +0 -7
- package/dist/__tests__/openDatasetParallelEvalGaia.test.js +0 -279
- package/dist/__tests__/openDatasetParallelEvalGaia.test.js.map +0 -1
- package/dist/__tests__/openDatasetParallelEvalSwebench.test.d.ts +0 -7
- package/dist/__tests__/openDatasetParallelEvalSwebench.test.js +0 -220
- package/dist/__tests__/openDatasetParallelEvalSwebench.test.js.map +0 -1
- package/dist/__tests__/openDatasetParallelEvalToolbench.test.d.ts +0 -7
- package/dist/__tests__/openDatasetParallelEvalToolbench.test.js +0 -218
- package/dist/__tests__/openDatasetParallelEvalToolbench.test.js.map +0 -1
- package/dist/__tests__/openDatasetPerfComparison.test.d.ts +0 -10
- package/dist/__tests__/openDatasetPerfComparison.test.js +0 -318
- package/dist/__tests__/openDatasetPerfComparison.test.js.map +0 -1
- package/dist/__tests__/openclawDogfood.test.d.ts +0 -23
- package/dist/__tests__/openclawDogfood.test.js +0 -535
- package/dist/__tests__/openclawDogfood.test.js.map +0 -1
- package/dist/__tests__/openclawMessaging.test.d.ts +0 -14
- package/dist/__tests__/openclawMessaging.test.js +0 -232
- package/dist/__tests__/openclawMessaging.test.js.map +0 -1
- package/dist/__tests__/presetRealWorldBench.test.d.ts +0 -1
- package/dist/__tests__/presetRealWorldBench.test.js +0 -859
- package/dist/__tests__/presetRealWorldBench.test.js.map +0 -1
- package/dist/__tests__/tools.test.d.ts +0 -1
- package/dist/__tests__/tools.test.js +0 -3201
- package/dist/__tests__/tools.test.js.map +0 -1
- package/dist/__tests__/toolsetGatingEval.test.d.ts +0 -1
- package/dist/__tests__/toolsetGatingEval.test.js +0 -1099
- package/dist/__tests__/toolsetGatingEval.test.js.map +0 -1
- package/dist/__tests__/traceabilityDogfood.test.d.ts +0 -12
- package/dist/__tests__/traceabilityDogfood.test.js +0 -241
- package/dist/__tests__/traceabilityDogfood.test.js.map +0 -1
- package/dist/__tests__/webmcpTools.test.d.ts +0 -7
- package/dist/__tests__/webmcpTools.test.js +0 -195
- package/dist/__tests__/webmcpTools.test.js.map +0 -1
- package/dist/benchmarks/testProviderBus.d.ts +0 -7
- package/dist/benchmarks/testProviderBus.js +0 -272
- package/dist/benchmarks/testProviderBus.js.map +0 -1
- package/dist/hooks/postCompaction.d.ts +0 -14
- package/dist/hooks/postCompaction.js +0 -51
- package/dist/hooks/postCompaction.js.map +0 -1
- package/dist/security/__tests__/security.test.d.ts +0 -8
- package/dist/security/__tests__/security.test.js +0 -295
- package/dist/security/__tests__/security.test.js.map +0 -1
- package/dist/tools/documentTools.d.ts +0 -5
- package/dist/tools/documentTools.js +0 -524
- package/dist/tools/documentTools.js.map +0 -1
- package/dist/tools/financialTools.d.ts +0 -10
- package/dist/tools/financialTools.js +0 -403
- package/dist/tools/financialTools.js.map +0 -1
- package/dist/tools/memoryTools.d.ts +0 -5
- package/dist/tools/memoryTools.js +0 -137
- package/dist/tools/memoryTools.js.map +0 -1
- package/dist/tools/planningTools.d.ts +0 -5
- package/dist/tools/planningTools.js +0 -147
- package/dist/tools/planningTools.js.map +0 -1
- package/dist/tools/searchTools.d.ts +0 -5
- package/dist/tools/searchTools.js +0 -145
- package/dist/tools/searchTools.js.map +0 -1
|
@@ -10,6 +10,94 @@
|
|
|
10
10
|
* 3. Build tool chains (recommended sequences for common workflows)
|
|
11
11
|
*/
|
|
12
12
|
import { isEmbeddingReady, embeddingSearch } from "./embeddingProvider.js";
|
|
13
|
+
function createFounderEntry(name, tags, nextAction, nextTools, phase, complexity = "low", tip) {
|
|
14
|
+
return {
|
|
15
|
+
name,
|
|
16
|
+
category: "founder",
|
|
17
|
+
tags: ["founder", ...tags],
|
|
18
|
+
quickRef: {
|
|
19
|
+
nextAction,
|
|
20
|
+
nextTools,
|
|
21
|
+
methodology: "founder",
|
|
22
|
+
...(tip ? { tip } : {}),
|
|
23
|
+
},
|
|
24
|
+
phase,
|
|
25
|
+
complexity,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const FOUNDER_PROGRESSION_REGISTRY_ENTRIES = [
|
|
29
|
+
createFounderEntry("founder_stage_assess", ["stage", "progression", "readiness"], "Use the stage assessment as the current founder baseline, then inspect gaps and next unlocks instead of jumping straight to roadmap work.", ["founder_gaps_detect", "founder_next_unlocks", "founder_readiness_score"], "research"),
|
|
30
|
+
createFounderEntry("founder_gaps_detect", ["gaps", "foundations", "missing"], "Turn the missing foundations into a materials checklist or a bounded founder issue instead of leaving them as vague weaknesses.", ["founder_materials_check", "founder_ontrack_scorecard", "publish_founder_issue_packet"], "research"),
|
|
31
|
+
createFounderEntry("founder_next_unlocks", ["unlocks", "stage", "momentum"], "Use the next unlocks to decide the smallest meaningful founder move for this week and what can wait.", ["founder_ontrack_scorecard", "build_slack_onepager", "delegate_founder_issue"], "research"),
|
|
32
|
+
createFounderEntry("founder_materials_check", ["materials", "checklist", "qualification"], "Use the checklist to prepare investor, banker, or diligence-facing artifacts before you try to share broadly.", ["build_company_packet", "build_investor_packet", "build_slack_onepager"], "research"),
|
|
33
|
+
createFounderEntry("founder_readiness_score", ["score", "readiness", "qualification"], "Treat the readiness score as a pressure test, then look at the hidden risks and missing materials driving it.", ["founder_gaps_detect", "founder_materials_check", "founder_ontrack_scorecard"], "research"),
|
|
34
|
+
createFounderEntry("founder_ontrack_scorecard", ["scorecard", "2-week", "3-month"], "Use the scorecard to define what must happen in the next 2 weeks and 3 months, then delegate only the bounded pieces.", ["founder_delegation_boundary_scan", "build_slack_onepager", "record_learning"], "research"),
|
|
35
|
+
createFounderEntry("founder_delegation_boundary_scan", ["delegation", "founder-only", "team"], "Separate founder-only decisions from delegable work before handing tasks to teammates or agents.", ["delegate_founder_issue", "generate_team_install_plan", "build_company_packet"], "research"),
|
|
36
|
+
createFounderEntry("founder_company_naming_pack", ["naming", "profile", "starter-company"], "Use the naming pack to make the company legible early, then fold it into the starter profile and one-page report.", ["build_company_profile_starter", "build_slack_onepager", "build_company_packet"], "research"),
|
|
37
|
+
];
|
|
38
|
+
const FOUNDER_OPERATING_MODEL_REGISTRY_ENTRIES = [
|
|
39
|
+
createFounderEntry("route_founder_packet", ["router", "packet", "execution-order"], "Use the packet router as the single policy decision for packet type, artifact type, export adapter, and next action so surfaces do not fork.", ["detect_company_mode", "get_role_packet_defaults", "get_founder_execution_order"], "research"),
|
|
40
|
+
createFounderEntry("get_founder_execution_order", ["execution-order", "sequence", "canonical"], "Use the canonical execution order as the forced run sequence before adding more workflow branches.", ["route_founder_packet", "get_founder_job_topology", "build_founder_operating_model"], "research"),
|
|
41
|
+
createFounderEntry("get_founder_job_topology", ["queue", "jobs", "topology"], "Treat queue topology as the reliability contract for sweeps, packet refresh, export, delegation, and benchmarks.", ["build_founder_operating_model", "get_source_trust_policy", "route_founder_packet"], "research"),
|
|
42
|
+
createFounderEntry("get_source_trust_policy", ["source-policy", "permissions", "trust"], "Use source trust policy to decide what can be read, stored, summarized, exported, or only referenced before mixing data classes.", ["build_founder_operating_model", "route_founder_packet", "publish_founder_issue_packet"], "research"),
|
|
43
|
+
createFounderEntry("get_role_packet_defaults", ["role", "packet", "defaults"], "Map each role to its default packet and export shape before adding custom logic in the UI or agents.", ["route_founder_packet", "detect_company_mode", "build_founder_operating_model"], "research"),
|
|
44
|
+
createFounderEntry("detect_company_mode", ["own-company", "external-company", "mixed"], "Detect whether the query is about the founder's own company, an external entity, or a mixed comparison because the packet behavior should differ.", ["route_founder_packet", "get_role_packet_defaults", "build_company_packet"], "research"),
|
|
45
|
+
createFounderEntry("get_founder_progression_rubric", ["rubric", "progression", "stages"], "Use the rubric to explain exactly what evidence moves a founder between stages and what keeps them off track.", ["founder_stage_assess", "founder_ontrack_scorecard", "build_founder_operating_model"], "research"),
|
|
46
|
+
createFounderEntry("get_benchmark_oracles", ["benchmark", "oracles", "validation"], "Benchmark lanes only matter if the oracle definitions are explicit. Use them to separate deterministic checks from judged quality.", ["run_founder_autonomy_benchmark", "build_before_after_memo", "build_founder_operating_model"], "verify"),
|
|
47
|
+
createFounderEntry("build_founder_operating_model", ["operating-model", "router", "permissions", "oracles"], "Build the full operating model when you need the canonical execution order, queue graph, permission policy, role defaults, and benchmark oracle set in one object.", ["route_founder_packet", "get_founder_job_topology", "get_benchmark_oracles"], "research", "medium"),
|
|
48
|
+
];
|
|
49
|
+
const FOUNDER_OPERATING_REGISTRY_ENTRIES = [
|
|
50
|
+
createFounderEntry("runway_check", ["runway", "finance", "burn"], "Use runway output to decide whether the current plan is survivable before expanding scope or pricing ambition.", ["burn_rate_sanity", "financial_hygiene_check", "founder_ontrack_scorecard"], "research"),
|
|
51
|
+
createFounderEntry("burn_rate_sanity", ["burn", "cash", "finance"], "Check burn against runway and hiring plans so the founder packet does not ignore the operating reality.", ["runway_check", "financial_hygiene_check", "build_company_packet"], "research"),
|
|
52
|
+
createFounderEntry("financial_hygiene_check", ["financial", "hygiene", "discipline"], "Turn financial hygiene findings into concrete operating changes or diligence notes instead of generic caution.", ["runway_check", "build_banking_packet", "founder_gaps_detect"], "research"),
|
|
53
|
+
createFounderEntry("meeting_notes_extract_decisions", ["meeting-notes", "decisions", "extract"], "Promote the extracted decisions into the packet or the next scorecard so the work compounds instead of disappearing in notes.", ["decision_quality_scan", "team_alignment_check", "build_before_after_memo"], "implement"),
|
|
54
|
+
createFounderEntry("team_alignment_check", ["team", "alignment", "org"], "Use alignment findings to tighten ownership and reduce founder-only work that should already be delegated.", ["hiring_gap_scan", "founder_delegation_boundary_scan", "founder_ontrack_scorecard"], "research"),
|
|
55
|
+
createFounderEntry("hiring_gap_scan", ["hiring", "gaps", "team-shape"], "Translate hiring gaps into concrete roles or credibility risks instead of generic statements about team weakness.", ["team_alignment_check", "founder_direction_assessment", "build_company_packet"], "research"),
|
|
56
|
+
createFounderEntry("decision_quality_scan", ["decisions", "quality", "operating-system"], "Use low-quality decision signals to force explicit rationale, owner, and follow-up in the next packet.", ["meeting_notes_extract_decisions", "build_before_after_memo", "record_learning"], "verify"),
|
|
57
|
+
];
|
|
58
|
+
const FOUNDER_DILIGENCE_REGISTRY_ENTRIES = [
|
|
59
|
+
createFounderEntry("detect_vertical", ["vertical", "classification", "industry"], "Load the right diligence pack first so the company gets judged against the standards that actually apply to it.", ["detect_subvertical", "load_diligence_pack", "readiness_scan"], "research"),
|
|
60
|
+
createFounderEntry("detect_subvertical", ["subvertical", "classification", "industry"], "Use the subvertical to tighten the evidence classes and evaluator expectations instead of treating all startups the same.", ["load_diligence_pack", "evidence_gap_scan", "build_diligence_packet"], "research"),
|
|
61
|
+
createFounderEntry("load_diligence_pack", ["diligence-pack", "requirements", "vertical"], "Use the pack as the requirements contract for fundraising, banking, diligence, and downstream submissions.", ["readiness_scan", "evidence_gap_scan", "build_diligence_packet"], "research"),
|
|
62
|
+
createFounderEntry("readiness_scan", ["readiness", "diligence", "scan"], "Readiness only matters if it turns into missing evidence and the next collection steps. Use the scan to prioritize that work.", ["evidence_gap_scan", "submission_readiness_score", "build_diligence_packet"], "research"),
|
|
63
|
+
createFounderEntry("evidence_gap_scan", ["evidence", "gaps", "verification"], "Turn missing evidence into collection tasks or submission blockers instead of letting it stay abstract.", ["claim_verification_scan", "submission_readiness_score", "publish_founder_issue_packet"], "research"),
|
|
64
|
+
createFounderEntry("claim_verification_scan", ["claims", "verification", "proof"], "Use claim verification to remove weak assertions from the packet before outsiders judge them.", ["extract_patent_claims", "extract_trial_evidence", "extract_publication_metadata"], "verify"),
|
|
65
|
+
createFounderEntry("submission_readiness_score", ["submission", "readiness", "export"], "Use the submission score to decide whether the company can credibly be sent to banks, investors, or profile platforms yet.", ["build_submission_export", "export_pitchbook_profile", "export_crunchbase_profile"], "research"),
|
|
66
|
+
createFounderEntry("extract_patent_claims", ["patents", "claims", "ip"], "Patent claims should feed the diligence packet only if they are precise, auditable, and matched to the product story.", ["claim_verification_scan", "build_diligence_packet", "export_pitchbook_profile"], "research"),
|
|
67
|
+
createFounderEntry("extract_trial_evidence", ["trials", "studies", "clinical"], "Use trial or study evidence to ground life-science claims in verifiable artifacts before fundraising or partnership motions.", ["claim_verification_scan", "build_diligence_packet", "submission_readiness_score"], "research"),
|
|
68
|
+
createFounderEntry("extract_publication_metadata", ["publications", "papers", "research"], "Fold publication metadata into the diligence pack so scientific or technical credibility is explicit rather than implied.", ["claim_verification_scan", "build_diligence_packet", "export_yc_application_context"], "research"),
|
|
69
|
+
createFounderEntry("extract_regulatory_artifacts", ["regulatory", "submissions", "approvals"], "Use regulatory artifacts to prove what is real, what is pending, and what still needs submission work.", ["build_diligence_packet", "submission_readiness_score", "export_pitchbook_profile"], "research"),
|
|
70
|
+
];
|
|
71
|
+
const FOUNDER_PACKET_REGISTRY_ENTRIES = [
|
|
72
|
+
createFounderEntry("build_company_packet", ["packet", "company", "canonical"], "Treat the company packet as the canonical founder object, then export or delegate from it instead of rebuilding the story ad hoc.", ["build_slack_onepager", "build_investor_packet", "share_create_packet_link"], "implement", "medium"),
|
|
73
|
+
createFounderEntry("build_investor_packet", ["packet", "investor", "memo"], "Use the investor packet only after the readiness scan and major weak angles have been made explicit.", ["build_slack_onepager", "export_pitchbook_profile", "publish_founder_issue_packet"], "implement", "medium"),
|
|
74
|
+
createFounderEntry("build_banking_packet", ["packet", "banking", "readiness"], "Banking readiness should translate internal company state into the signals a banker actually screens for.", ["financial_hygiene_check", "build_submission_export", "build_slack_onepager"], "implement", "medium"),
|
|
75
|
+
createFounderEntry("build_diligence_packet", ["packet", "diligence", "requirements"], "Use the diligence packet to centralize all required evidence classes, gaps, and sensitivities before external review.", ["build_submission_export", "share_create_packet_link", "export_yc_application_context"], "implement", "medium"),
|
|
76
|
+
createFounderEntry("build_submission_export", ["submission", "export", "structured-data"], "Pick the destination adapter explicitly and keep the packet private/workspace-scoped until the founder is ready to disclose it.", ["export_pitchbook_profile", "export_crunchbase_profile", "share_create_packet_link"], "ship", "medium"),
|
|
77
|
+
createFounderEntry("build_company_profile_starter", ["company-profile", "starter", "public-profile"], "Use the starter profile to make the company legible in one paragraph before you optimize the rest of the packet.", ["founder_company_naming_pack", "build_company_packet", "build_slack_onepager"], "implement"),
|
|
78
|
+
createFounderEntry("build_slack_onepager", ["slack", "one-page", "artifact"], "Use the Slack one-pager as the first external artifact because it is compact, shareable, and easy to react to.", ["share_create_packet_link", "build_company_packet", "record_learning"], "ship"),
|
|
79
|
+
createFounderEntry("export_pitchbook_profile", ["pitchbook", "profile", "export"], "PitchBook-style exports should only include evidence-backed fields and must preserve sensitivity and missing-field markers.", ["build_submission_export", "export_crunchbase_profile", "share_create_packet_link"], "ship", "medium"),
|
|
80
|
+
createFounderEntry("export_crunchbase_profile", ["crunchbase", "profile", "export"], "Use the Crunchbase-like export to make the company legible externally without leaking private founder context by default.", ["build_submission_export", "export_pitchbook_profile", "share_create_packet_link"], "ship", "medium"),
|
|
81
|
+
createFounderEntry("export_yc_application_context", ["yc", "application", "export"], "Treat the YC context export as a structured answer pack, not just text pasted into a form.", ["build_submission_export", "build_diligence_packet", "share_create_packet_link"], "ship", "medium"),
|
|
82
|
+
];
|
|
83
|
+
const FOUNDER_WORKFLOW_REGISTRY_ENTRIES = [
|
|
84
|
+
createFounderEntry("compare_workflow_paths", ["workflow", "compare", "before-after"], "Use the compare output to prove whether the shorter path keeps the same quality bar before you operationalize it.", ["validate_shortcut", "shortest_valid_path", "cheapest_valid_path"], "research", "medium"),
|
|
85
|
+
createFounderEntry("shortest_valid_path", ["workflow", "shortest-path", "optimization"], "Use the shortest path only if the validation checks are explicit and the artifact class still matches the original goal.", ["validate_shortcut", "build_before_after_memo", "run_founder_autonomy_benchmark"], "research", "medium"),
|
|
86
|
+
createFounderEntry("cheapest_valid_path", ["workflow", "cheapest-path", "cost"], "The cheaper path only matters if it preserves quality and is documented as a reusable operating pattern.", ["validate_shortcut", "build_before_after_memo", "run_founder_autonomy_benchmark"], "research", "medium"),
|
|
87
|
+
createFounderEntry("validate_shortcut", ["workflow", "shortcut", "validation"], "Treat shortcut validation as the gate before publishing the optimization claim to users or investors.", ["build_before_after_memo", "run_founder_autonomy_benchmark", "record_learning"], "verify", "medium"),
|
|
88
|
+
createFounderEntry("build_before_after_memo", ["before-after", "memo", "audit"], "Use the memo as the proof artifact: old path, new path, checks, and why the savings are credible.", ["run_founder_autonomy_benchmark", "share_create_packet_link", "record_learning"], "ship", "medium"),
|
|
89
|
+
createFounderEntry("run_founder_autonomy_benchmark", ["benchmark", "autonomy", "founder"], "Use the benchmark to prove visible business autonomy with receipts, not vague claims about AI agency.", ["run_packet_to_implementation_benchmark", "run_competitor_signal_benchmark", "build_before_after_memo"], "test", "medium"),
|
|
90
|
+
createFounderEntry("run_packet_to_implementation_benchmark", ["benchmark", "implementation", "packet"], "Use packet-to-implementation runs to prove that the packet actually reduces restatement and implementation drift.", ["build_before_after_memo", "record_learning", "share_create_packet_link"], "test", "medium"),
|
|
91
|
+
createFounderEntry("run_competitor_signal_benchmark", ["benchmark", "competitor", "response"], "Use this benchmark to show that external signals become concrete product responses, not just interesting research output.", ["build_before_after_memo", "publish_founder_issue_packet", "record_learning"], "test", "medium"),
|
|
92
|
+
createFounderEntry("run_browserstack_benchmark_lane", ["benchmark", "browserstack", "browser", "proof"], "Use the browser lane as a public proof surface only after the harness, outputs, and judges are stable enough to trust.", ["run_founder_autonomy_benchmark", "build_before_after_memo", "record_learning"], "test", "medium"),
|
|
93
|
+
];
|
|
94
|
+
const FOUNDER_DISTRIBUTION_REGISTRY_ENTRIES = [
|
|
95
|
+
createFounderEntry("distribution_surface_scan", ["distribution", "surfaces", "trust"], "Audit the distribution surfaces before talking about traction so you know which install and trust loops are actually real.", ["workflow_adoption_scan", "open_core_boundary_advisor", "generate_team_install_plan"], "research"),
|
|
96
|
+
createFounderEntry("open_core_boundary_advisor", ["open-core", "boundary", "moat"], "Use the open-core boundary to decide what drives trust and adoption versus what stays proprietary and monetizable.", ["partnership_target_map", "gtm_script_builder", "publish_founder_issue_packet"], "research"),
|
|
97
|
+
createFounderEntry("partnership_target_map", ["partnerships", "channels", "ecosystem"], "Map the first partner surfaces by workflow gravity, not by prestige, so the team stays within 20/80 limits.", ["founder_target_customer_map", "gtm_script_builder", "distribution_surface_scan"], "research"),
|
|
98
|
+
createFounderEntry("gtm_script_builder", ["gtm", "script", "messaging"], "Use the script to explain the wedge, maturity level, and proof story in one motion instead of listing generic features.", ["founder_target_customer_map", "partnership_target_map", "build_slack_onepager"], "implement"),
|
|
99
|
+
createFounderEntry("founder_target_customer_map", ["target-customers", "segments", "buyers"], "Turn the customer map into one narrow first wedge instead of trying to sell to every adjacent user class at once.", ["gtm_script_builder", "partnership_target_map", "service_to_dashboard_path"], "research"),
|
|
100
|
+
];
|
|
13
101
|
// ── Registry: every tool mapped with metadata ────────────────────────────
|
|
14
102
|
const REGISTRY_ENTRIES = [
|
|
15
103
|
// ═══ VERIFICATION ═══
|
|
@@ -1004,6 +1092,327 @@ const REGISTRY_ENTRIES = [
|
|
|
1004
1092
|
},
|
|
1005
1093
|
phase: "verify",
|
|
1006
1094
|
},
|
|
1095
|
+
{
|
|
1096
|
+
name: "run_self_directed_delivery_loop",
|
|
1097
|
+
category: "flywheel",
|
|
1098
|
+
tags: ["autonomous", "research", "plan", "implement", "dogfood", "judge", "delivery", "loop"],
|
|
1099
|
+
quickRef: {
|
|
1100
|
+
nextAction: "Loop complete. Reopen the durable run to inspect stage receipts, then act on the recommendations before the next pass.",
|
|
1101
|
+
nextTools: ["get_self_directed_delivery_run", "list_self_directed_delivery_runs", "run_mandatory_flywheel"],
|
|
1102
|
+
methodology: "ai_flywheel",
|
|
1103
|
+
tip: "Supply explicit compile, lint, test, and failure-path commands so the loop can prove the full flywheel instead of guessing.",
|
|
1104
|
+
},
|
|
1105
|
+
phase: "ship",
|
|
1106
|
+
},
|
|
1107
|
+
{
|
|
1108
|
+
name: "get_self_directed_delivery_run",
|
|
1109
|
+
category: "flywheel",
|
|
1110
|
+
tags: ["autonomous", "delivery", "run", "history", "receipts", "audit"],
|
|
1111
|
+
quickRef: {
|
|
1112
|
+
nextAction: "Inspect the failed stage, then rerun the loop or repair the specific command or dogfood scenario that blocked completion.",
|
|
1113
|
+
nextTools: ["run_self_directed_delivery_loop", "list_self_directed_delivery_runs"],
|
|
1114
|
+
methodology: "ai_flywheel",
|
|
1115
|
+
},
|
|
1116
|
+
phase: "verify",
|
|
1117
|
+
},
|
|
1118
|
+
{
|
|
1119
|
+
name: "list_self_directed_delivery_runs",
|
|
1120
|
+
category: "flywheel",
|
|
1121
|
+
tags: ["autonomous", "delivery", "runs", "history", "compare"],
|
|
1122
|
+
quickRef: {
|
|
1123
|
+
nextAction: "Pick the most relevant run ID, inspect it, then compare recommendations and outcomes across loops.",
|
|
1124
|
+
nextTools: ["get_self_directed_delivery_run", "run_self_directed_delivery_loop"],
|
|
1125
|
+
methodology: "ai_flywheel",
|
|
1126
|
+
},
|
|
1127
|
+
phase: "verify",
|
|
1128
|
+
},
|
|
1129
|
+
{
|
|
1130
|
+
name: "upsert_durable_object",
|
|
1131
|
+
category: "bridge",
|
|
1132
|
+
tags: ["identity", "durable", "object", "provenance", "offline", "sync"],
|
|
1133
|
+
quickRef: {
|
|
1134
|
+
nextAction: "Object registered. Link it to adjacent objects and record receipts so the run can be replayed instead of rediscovered.",
|
|
1135
|
+
nextTools: ["link_durable_objects", "record_provenance_receipt", "get_sync_bridge_status"],
|
|
1136
|
+
methodology: "ai_flywheel",
|
|
1137
|
+
},
|
|
1138
|
+
phase: "implement",
|
|
1139
|
+
},
|
|
1140
|
+
{
|
|
1141
|
+
name: "link_durable_objects",
|
|
1142
|
+
category: "bridge",
|
|
1143
|
+
tags: ["identity", "graph", "edge", "lineage", "provenance", "sync"],
|
|
1144
|
+
quickRef: {
|
|
1145
|
+
nextAction: "Relationship stored. Attach receipts, artifacts, or outcomes so the path from cause to result is explicit.",
|
|
1146
|
+
nextTools: ["record_provenance_receipt", "record_sync_artifact", "record_sync_outcome"],
|
|
1147
|
+
methodology: "ai_flywheel",
|
|
1148
|
+
},
|
|
1149
|
+
phase: "implement",
|
|
1150
|
+
},
|
|
1151
|
+
{
|
|
1152
|
+
name: "record_provenance_receipt",
|
|
1153
|
+
category: "bridge",
|
|
1154
|
+
tags: ["receipt", "provenance", "trace", "verification", "audit", "sync"],
|
|
1155
|
+
quickRef: {
|
|
1156
|
+
nextAction: "Receipt stored. If this action produced evidence or an outcome, persist those next and then flush approved state to the paired account.",
|
|
1157
|
+
nextTools: ["record_sync_artifact", "record_sync_outcome", "run_sync_bridge_flush"],
|
|
1158
|
+
methodology: "ai_flywheel",
|
|
1159
|
+
},
|
|
1160
|
+
phase: "verify",
|
|
1161
|
+
},
|
|
1162
|
+
{
|
|
1163
|
+
name: "record_sync_artifact",
|
|
1164
|
+
category: "bridge",
|
|
1165
|
+
tags: ["artifact", "offline", "proof", "verification", "sync"],
|
|
1166
|
+
quickRef: {
|
|
1167
|
+
nextAction: "Artifact stored locally. Link it to the run or outcome, then sync it when the account bridge is available.",
|
|
1168
|
+
nextTools: ["link_durable_objects", "run_sync_bridge_flush"],
|
|
1169
|
+
methodology: "ai_flywheel",
|
|
1170
|
+
},
|
|
1171
|
+
phase: "ship",
|
|
1172
|
+
},
|
|
1173
|
+
{
|
|
1174
|
+
name: "record_sync_outcome",
|
|
1175
|
+
category: "bridge",
|
|
1176
|
+
tags: ["outcome", "user-value", "stakeholder", "evidence", "sync"],
|
|
1177
|
+
quickRef: {
|
|
1178
|
+
nextAction: "Outcome stored. Review its evidence and flush it to the account history so operators and stakeholders can inspect the same result.",
|
|
1179
|
+
nextTools: ["run_sync_bridge_flush", "get_sync_bridge_status"],
|
|
1180
|
+
methodology: "ai_flywheel",
|
|
1181
|
+
},
|
|
1182
|
+
phase: "ship",
|
|
1183
|
+
},
|
|
1184
|
+
{
|
|
1185
|
+
name: "bind_local_account",
|
|
1186
|
+
category: "bridge",
|
|
1187
|
+
tags: ["pairing", "device", "account", "offline-first", "permission", "sync"],
|
|
1188
|
+
quickRef: {
|
|
1189
|
+
nextAction: "Binding recorded. Inspect sync status and then flush a small batch before widening scopes.",
|
|
1190
|
+
nextTools: ["get_sync_bridge_status", "list_pending_sync_operations", "run_sync_bridge_flush"],
|
|
1191
|
+
methodology: "autonomous_maintenance",
|
|
1192
|
+
},
|
|
1193
|
+
phase: "implement",
|
|
1194
|
+
},
|
|
1195
|
+
{
|
|
1196
|
+
name: "get_sync_bridge_status",
|
|
1197
|
+
category: "bridge",
|
|
1198
|
+
tags: ["status", "sync", "device", "account", "queue"],
|
|
1199
|
+
quickRef: {
|
|
1200
|
+
nextAction: "Use this snapshot to decide whether to stay local-only, bind an account, or flush the queue.",
|
|
1201
|
+
nextTools: ["bind_local_account", "list_pending_sync_operations", "run_sync_bridge_flush"],
|
|
1202
|
+
methodology: "autonomous_maintenance",
|
|
1203
|
+
},
|
|
1204
|
+
phase: "verify",
|
|
1205
|
+
},
|
|
1206
|
+
{
|
|
1207
|
+
name: "list_pending_sync_operations",
|
|
1208
|
+
category: "bridge",
|
|
1209
|
+
tags: ["sync", "queue", "pending", "operations", "offline"],
|
|
1210
|
+
quickRef: {
|
|
1211
|
+
nextAction: "Inspect what is waiting to leave the device, then flush a bounded batch through the outbound sync bridge.",
|
|
1212
|
+
nextTools: ["run_sync_bridge_flush", "get_sync_bridge_status"],
|
|
1213
|
+
methodology: "autonomous_maintenance",
|
|
1214
|
+
},
|
|
1215
|
+
phase: "verify",
|
|
1216
|
+
},
|
|
1217
|
+
{
|
|
1218
|
+
name: "queue_sync_operation",
|
|
1219
|
+
category: "bridge",
|
|
1220
|
+
tags: ["sync", "queue", "custom", "operation", "replication"],
|
|
1221
|
+
quickRef: {
|
|
1222
|
+
nextAction: "Custom operation queued. Confirm the device binding and flush when appropriate.",
|
|
1223
|
+
nextTools: ["get_sync_bridge_status", "run_sync_bridge_flush"],
|
|
1224
|
+
methodology: "autonomous_maintenance",
|
|
1225
|
+
},
|
|
1226
|
+
phase: "implement",
|
|
1227
|
+
},
|
|
1228
|
+
{
|
|
1229
|
+
name: "run_sync_bridge_flush",
|
|
1230
|
+
category: "bridge",
|
|
1231
|
+
tags: ["sync", "websocket", "pairing", "replication", "account", "offline-first"],
|
|
1232
|
+
quickRef: {
|
|
1233
|
+
nextAction: "Review accepted and rejected operations. Requeue only what is still relevant, and keep the local store as the source of truth.",
|
|
1234
|
+
nextTools: ["get_sync_bridge_status", "list_pending_sync_operations"],
|
|
1235
|
+
methodology: "autonomous_maintenance",
|
|
1236
|
+
tip: "Start with a small batch and conservative scopes before enabling broader artifact or memory sync.",
|
|
1237
|
+
},
|
|
1238
|
+
phase: "ship",
|
|
1239
|
+
},
|
|
1240
|
+
{
|
|
1241
|
+
name: "register_shared_context_peer",
|
|
1242
|
+
category: "bridge",
|
|
1243
|
+
tags: ["peer", "registry", "shared-context", "capabilities", "heartbeat"],
|
|
1244
|
+
quickRef: {
|
|
1245
|
+
nextAction: "Peer registered. Publish a compact summary and then exchange a packet or task instead of ad hoc text.",
|
|
1246
|
+
nextTools: ["heartbeat_shared_context_peer", "publish_shared_context", "list_shared_context_peers"],
|
|
1247
|
+
methodology: "ai_flywheel",
|
|
1248
|
+
},
|
|
1249
|
+
phase: "implement",
|
|
1250
|
+
},
|
|
1251
|
+
{
|
|
1252
|
+
name: "heartbeat_shared_context_peer",
|
|
1253
|
+
category: "bridge",
|
|
1254
|
+
tags: ["peer", "heartbeat", "summary", "liveness", "status"],
|
|
1255
|
+
quickRef: {
|
|
1256
|
+
nextAction: "Heartbeat refreshed. Pull nearby peers or publish an updated packet if your working state changed.",
|
|
1257
|
+
nextTools: ["list_shared_context_peers", "publish_shared_context", "check_peer_messages"],
|
|
1258
|
+
methodology: "autonomous_maintenance",
|
|
1259
|
+
},
|
|
1260
|
+
phase: "verify",
|
|
1261
|
+
},
|
|
1262
|
+
{
|
|
1263
|
+
name: "list_shared_context_peers",
|
|
1264
|
+
category: "bridge",
|
|
1265
|
+
tags: ["peer", "registry", "discovery", "capabilities", "scope"],
|
|
1266
|
+
quickRef: {
|
|
1267
|
+
nextAction: "Choose the best peer by capability and scope, then hand it a packet or task with explicit lineage.",
|
|
1268
|
+
nextTools: ["get_shared_context_peer", "publish_shared_context", "propose_shared_task"],
|
|
1269
|
+
methodology: "ai_flywheel",
|
|
1270
|
+
},
|
|
1271
|
+
phase: "research",
|
|
1272
|
+
},
|
|
1273
|
+
{
|
|
1274
|
+
name: "get_shared_context_peer",
|
|
1275
|
+
category: "bridge",
|
|
1276
|
+
tags: ["peer", "summary", "capabilities", "status", "scope"],
|
|
1277
|
+
quickRef: {
|
|
1278
|
+
nextAction: "Use this peer snapshot to decide whether to send a message, request context, or hand off a task.",
|
|
1279
|
+
nextTools: ["send_peer_message", "publish_shared_context", "propose_shared_task"],
|
|
1280
|
+
methodology: "ai_flywheel",
|
|
1281
|
+
},
|
|
1282
|
+
phase: "research",
|
|
1283
|
+
},
|
|
1284
|
+
{
|
|
1285
|
+
name: "publish_shared_context",
|
|
1286
|
+
category: "bridge",
|
|
1287
|
+
tags: ["packet", "context", "lineage", "freshness", "shared-context"],
|
|
1288
|
+
quickRef: {
|
|
1289
|
+
nextAction: "Packet published. Acknowledge it, invalidate stale predecessors, or attach it to a task handoff.",
|
|
1290
|
+
nextTools: ["ack_shared_context", "invalidate_shared_context", "propose_shared_task"],
|
|
1291
|
+
methodology: "ai_flywheel",
|
|
1292
|
+
},
|
|
1293
|
+
phase: "implement",
|
|
1294
|
+
},
|
|
1295
|
+
{
|
|
1296
|
+
name: "pull_shared_context",
|
|
1297
|
+
category: "bridge",
|
|
1298
|
+
tags: ["packet", "pull", "context", "query", "evidence"],
|
|
1299
|
+
quickRef: {
|
|
1300
|
+
nextAction: "Inspect the returned packets and carry forward only the ones still fresh and in scope.",
|
|
1301
|
+
nextTools: ["ack_shared_context", "invalidate_shared_context", "propose_shared_task"],
|
|
1302
|
+
methodology: "ai_flywheel",
|
|
1303
|
+
},
|
|
1304
|
+
phase: "research",
|
|
1305
|
+
},
|
|
1306
|
+
{
|
|
1307
|
+
name: "ack_shared_context",
|
|
1308
|
+
category: "bridge",
|
|
1309
|
+
tags: ["packet", "ack", "receipt", "delivery", "lineage"],
|
|
1310
|
+
quickRef: {
|
|
1311
|
+
nextAction: "Acknowledgement recorded. If the packet drove work, create a task or emit a response packet next.",
|
|
1312
|
+
nextTools: ["propose_shared_task", "publish_shared_context", "send_peer_message"],
|
|
1313
|
+
methodology: "closed_loop",
|
|
1314
|
+
},
|
|
1315
|
+
phase: "verify",
|
|
1316
|
+
},
|
|
1317
|
+
{
|
|
1318
|
+
name: "invalidate_shared_context",
|
|
1319
|
+
category: "bridge",
|
|
1320
|
+
tags: ["packet", "invalidate", "stale", "freshness", "contradiction"],
|
|
1321
|
+
quickRef: {
|
|
1322
|
+
nextAction: "Stale context is now explicit. Publish the replacement packet or notify affected peers immediately.",
|
|
1323
|
+
nextTools: ["publish_shared_context", "send_peer_message", "get_shared_context_snapshot"],
|
|
1324
|
+
methodology: "autonomous_maintenance",
|
|
1325
|
+
},
|
|
1326
|
+
phase: "verify",
|
|
1327
|
+
},
|
|
1328
|
+
{
|
|
1329
|
+
name: "send_peer_message",
|
|
1330
|
+
category: "bridge",
|
|
1331
|
+
tags: ["message", "peer", "direct", "coordination", "shared-context"],
|
|
1332
|
+
quickRef: {
|
|
1333
|
+
nextAction: "Direct message sent. If the exchange needs durability, follow it with a packet or task record.",
|
|
1334
|
+
nextTools: ["check_peer_messages", "publish_shared_context", "propose_shared_task"],
|
|
1335
|
+
methodology: "ai_flywheel",
|
|
1336
|
+
},
|
|
1337
|
+
phase: "implement",
|
|
1338
|
+
},
|
|
1339
|
+
{
|
|
1340
|
+
name: "check_peer_messages",
|
|
1341
|
+
category: "bridge",
|
|
1342
|
+
tags: ["message", "inbox", "peer", "coordination", "status"],
|
|
1343
|
+
quickRef: {
|
|
1344
|
+
nextAction: "Review unread items and convert any meaningful exchange into an acknowledged packet or explicit task.",
|
|
1345
|
+
nextTools: ["ack_shared_context", "publish_shared_context", "accept_shared_task"],
|
|
1346
|
+
methodology: "closed_loop",
|
|
1347
|
+
},
|
|
1348
|
+
phase: "verify",
|
|
1349
|
+
},
|
|
1350
|
+
{
|
|
1351
|
+
name: "propose_shared_task",
|
|
1352
|
+
category: "bridge",
|
|
1353
|
+
tags: ["task", "handoff", "delegation", "context", "lineage"],
|
|
1354
|
+
quickRef: {
|
|
1355
|
+
nextAction: "Task proposed. Wait for acceptance or revise the spec if the assignee lacks scope or capability.",
|
|
1356
|
+
nextTools: ["accept_shared_task", "reject_shared_task", "get_shared_context_snapshot"],
|
|
1357
|
+
methodology: "ai_flywheel",
|
|
1358
|
+
},
|
|
1359
|
+
phase: "implement",
|
|
1360
|
+
},
|
|
1361
|
+
{
|
|
1362
|
+
name: "accept_shared_task",
|
|
1363
|
+
category: "bridge",
|
|
1364
|
+
tags: ["task", "accept", "handoff", "delegation", "status"],
|
|
1365
|
+
quickRef: {
|
|
1366
|
+
nextAction: "Task accepted. Produce the output packet, then complete the handoff with explicit lineage.",
|
|
1367
|
+
nextTools: ["publish_shared_context", "complete_shared_task", "escalate_shared_task"],
|
|
1368
|
+
methodology: "closed_loop",
|
|
1369
|
+
},
|
|
1370
|
+
phase: "implement",
|
|
1371
|
+
},
|
|
1372
|
+
{
|
|
1373
|
+
name: "reject_shared_task",
|
|
1374
|
+
category: "bridge",
|
|
1375
|
+
tags: ["task", "reject", "handoff", "scope", "capability"],
|
|
1376
|
+
quickRef: {
|
|
1377
|
+
nextAction: "Task rejected. Adjust the scope, pick a different peer, or publish missing context before retrying.",
|
|
1378
|
+
nextTools: ["list_shared_context_peers", "publish_shared_context", "propose_shared_task"],
|
|
1379
|
+
methodology: "closed_loop",
|
|
1380
|
+
},
|
|
1381
|
+
phase: "verify",
|
|
1382
|
+
},
|
|
1383
|
+
{
|
|
1384
|
+
name: "complete_shared_task",
|
|
1385
|
+
category: "bridge",
|
|
1386
|
+
tags: ["task", "complete", "handoff", "output", "packet"],
|
|
1387
|
+
quickRef: {
|
|
1388
|
+
nextAction: "Task completed. Confirm the output packet is linked and invalidate any stale predecessors if needed.",
|
|
1389
|
+
nextTools: ["publish_shared_context", "invalidate_shared_context", "get_shared_context_snapshot"],
|
|
1390
|
+
methodology: "closed_loop",
|
|
1391
|
+
},
|
|
1392
|
+
phase: "ship",
|
|
1393
|
+
},
|
|
1394
|
+
{
|
|
1395
|
+
name: "escalate_shared_task",
|
|
1396
|
+
category: "bridge",
|
|
1397
|
+
tags: ["task", "escalate", "handoff", "repair", "lineage"],
|
|
1398
|
+
quickRef: {
|
|
1399
|
+
nextAction: "Escalation recorded. Notify the proposer and publish the blocking context so the next peer does not re-derive it.",
|
|
1400
|
+
nextTools: ["send_peer_message", "publish_shared_context", "propose_shared_task"],
|
|
1401
|
+
methodology: "ai_flywheel",
|
|
1402
|
+
},
|
|
1403
|
+
phase: "verify",
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
name: "get_shared_context_snapshot",
|
|
1407
|
+
category: "bridge",
|
|
1408
|
+
tags: ["snapshot", "peers", "packets", "tasks", "messages"],
|
|
1409
|
+
quickRef: {
|
|
1410
|
+
nextAction: "Use this snapshot to inspect the live protocol state and find stale packets, open handoffs, or unread peer work.",
|
|
1411
|
+
nextTools: ["list_shared_context_peers", "pull_shared_context", "check_peer_messages"],
|
|
1412
|
+
methodology: "autonomous_maintenance",
|
|
1413
|
+
},
|
|
1414
|
+
phase: "verify",
|
|
1415
|
+
},
|
|
1007
1416
|
{
|
|
1008
1417
|
name: "run_tests_cli",
|
|
1009
1418
|
category: "bootstrap",
|
|
@@ -1701,6 +2110,17 @@ const REGISTRY_ENTRIES = [
|
|
|
1701
2110
|
},
|
|
1702
2111
|
phase: "meta",
|
|
1703
2112
|
},
|
|
2113
|
+
{
|
|
2114
|
+
name: "get_tool_graph",
|
|
2115
|
+
category: "progressive_discovery",
|
|
2116
|
+
tags: ["graph", "relationships", "tool-map", "dependencies", "cooccurrence", "neighbors"],
|
|
2117
|
+
quickRef: {
|
|
2118
|
+
nextAction: "Inspect the graph to see which tools cluster together, then use get_tool_quick_ref or discover_tools to keep moving through the workflow.",
|
|
2119
|
+
nextTools: ["get_tool_quick_ref", "discover_tools"],
|
|
2120
|
+
tip: "Start from a root tool when you want a bounded subgraph. Leave rootTool empty only when you need the broad topology.",
|
|
2121
|
+
},
|
|
2122
|
+
phase: "meta",
|
|
2123
|
+
},
|
|
1704
2124
|
// ═══ META ═══
|
|
1705
2125
|
{
|
|
1706
2126
|
name: "findTools",
|
|
@@ -4187,79 +4607,512 @@ const REGISTRY_ENTRIES = [
|
|
|
4187
4607
|
phase: "ship",
|
|
4188
4608
|
complexity: "medium",
|
|
4189
4609
|
},
|
|
4190
|
-
// ═══ DOGFOOD JUDGE (Phase 13 — compound verification) ═══
|
|
4191
4610
|
{
|
|
4192
|
-
name: "
|
|
4193
|
-
category: "
|
|
4194
|
-
tags: [
|
|
4611
|
+
name: "founder_direction_assessment",
|
|
4612
|
+
category: "founder",
|
|
4613
|
+
tags: [
|
|
4614
|
+
"founder",
|
|
4615
|
+
"direction",
|
|
4616
|
+
"pressure-test",
|
|
4617
|
+
"team-fit",
|
|
4618
|
+
"credibility",
|
|
4619
|
+
"ai-tradeoffs",
|
|
4620
|
+
"installability",
|
|
4621
|
+
"maintainability",
|
|
4622
|
+
"claude-code",
|
|
4623
|
+
"adoption",
|
|
4624
|
+
"investor",
|
|
4625
|
+
"subscription",
|
|
4626
|
+
"dashboard",
|
|
4627
|
+
"sellability",
|
|
4628
|
+
],
|
|
4195
4629
|
quickRef: {
|
|
4196
|
-
nextAction: "
|
|
4197
|
-
nextTools: ["
|
|
4198
|
-
methodology: "
|
|
4199
|
-
tip: "
|
|
4630
|
+
nextAction: "Review the weakest strategic angles first. Publish an issue packet or delegate a bounded follow-up task instead of broadening the roadmap immediately.",
|
|
4631
|
+
nextTools: ["publish_founder_issue_packet", "delegate_founder_issue", "founder_local_synthesize"],
|
|
4632
|
+
methodology: "founder",
|
|
4633
|
+
tip: "Use this before committing to a new wedge. It is strongest when you pass explicit founder skills, constraints, and current user workflows like Claude Code.",
|
|
4200
4634
|
},
|
|
4201
|
-
phase: "
|
|
4635
|
+
phase: "research",
|
|
4202
4636
|
complexity: "medium",
|
|
4203
4637
|
},
|
|
4638
|
+
...FOUNDER_PROGRESSION_REGISTRY_ENTRIES,
|
|
4639
|
+
...FOUNDER_OPERATING_MODEL_REGISTRY_ENTRIES,
|
|
4640
|
+
...FOUNDER_OPERATING_REGISTRY_ENTRIES,
|
|
4641
|
+
...FOUNDER_DILIGENCE_REGISTRY_ENTRIES,
|
|
4642
|
+
...FOUNDER_PACKET_REGISTRY_ENTRIES,
|
|
4643
|
+
...FOUNDER_WORKFLOW_REGISTRY_ENTRIES,
|
|
4644
|
+
...FOUNDER_DISTRIBUTION_REGISTRY_ENTRIES,
|
|
4204
4645
|
{
|
|
4205
|
-
name: "
|
|
4206
|
-
category: "
|
|
4207
|
-
tags: ["
|
|
4646
|
+
name: "publish_founder_issue_packet",
|
|
4647
|
+
category: "founder",
|
|
4648
|
+
tags: ["founder", "issue", "packet", "shared-context", "lineage", "delegation", "risk", "direction"],
|
|
4208
4649
|
quickRef: {
|
|
4209
|
-
nextAction: "
|
|
4210
|
-
nextTools: ["
|
|
4211
|
-
methodology: "
|
|
4650
|
+
nextAction: "Issue packet published. Delegate it or resolve it explicitly so the weak angle turns into tracked work instead of lingering discussion.",
|
|
4651
|
+
nextTools: ["delegate_founder_issue", "resolve_founder_issue", "get_founder_packet_resource"],
|
|
4652
|
+
methodology: "founder",
|
|
4653
|
+
tip: "Pass a producer peer and workspace so the packet is reusable across the shared-context and sync surfaces.",
|
|
4212
4654
|
},
|
|
4213
4655
|
phase: "implement",
|
|
4214
4656
|
complexity: "medium",
|
|
4215
4657
|
},
|
|
4216
4658
|
{
|
|
4217
|
-
name: "
|
|
4218
|
-
category: "
|
|
4219
|
-
tags: ["
|
|
4659
|
+
name: "list_founder_issue_packets",
|
|
4660
|
+
category: "founder",
|
|
4661
|
+
tags: ["founder", "issue", "packet", "list", "shared-context", "snapshot", "triage"],
|
|
4220
4662
|
quickRef: {
|
|
4221
|
-
nextAction: "
|
|
4222
|
-
nextTools: ["
|
|
4223
|
-
methodology: "
|
|
4224
|
-
tip: "Include beforeValue and afterValue — the delta reveals whether the system was wrong (factual) or incomplete (missing).",
|
|
4663
|
+
nextAction: "Review active founder issues, then resolve, delegate, or inspect the packet resource for the highest-risk angle.",
|
|
4664
|
+
nextTools: ["resolve_founder_issue", "delegate_founder_issue", "get_founder_packet_resource"],
|
|
4665
|
+
methodology: "founder",
|
|
4225
4666
|
},
|
|
4226
|
-
phase: "
|
|
4227
|
-
complexity: "
|
|
4667
|
+
phase: "research",
|
|
4668
|
+
complexity: "low",
|
|
4228
4669
|
},
|
|
4229
4670
|
{
|
|
4230
|
-
name: "
|
|
4231
|
-
category: "
|
|
4232
|
-
tags: ["
|
|
4671
|
+
name: "resolve_founder_issue",
|
|
4672
|
+
category: "founder",
|
|
4673
|
+
tags: ["founder", "issue", "resolve", "invalidate", "lineage", "shared-context", "state-transition"],
|
|
4233
4674
|
quickRef: {
|
|
4234
|
-
nextAction: "
|
|
4235
|
-
nextTools: ["
|
|
4236
|
-
methodology: "
|
|
4237
|
-
tip: "If priorSessionId is known, include it — the system calculates time-since-last-asked to measure memory decay.",
|
|
4675
|
+
nextAction: "Issue resolved. Publish the follow-up packet or verify the resolution in the next founder review loop.",
|
|
4676
|
+
nextTools: ["list_founder_issue_packets", "publish_founder_issue_packet", "record_learning"],
|
|
4677
|
+
methodology: "founder",
|
|
4238
4678
|
},
|
|
4239
|
-
phase: "
|
|
4679
|
+
phase: "ship",
|
|
4240
4680
|
complexity: "medium",
|
|
4241
4681
|
},
|
|
4242
4682
|
{
|
|
4243
|
-
name: "
|
|
4244
|
-
category: "
|
|
4245
|
-
tags: ["
|
|
4683
|
+
name: "delegate_founder_issue",
|
|
4684
|
+
category: "founder",
|
|
4685
|
+
tags: ["founder", "issue", "delegate", "task-handoff", "shared-context", "bounded-work"],
|
|
4246
4686
|
quickRef: {
|
|
4247
|
-
nextAction: "
|
|
4248
|
-
nextTools: ["
|
|
4249
|
-
methodology: "
|
|
4687
|
+
nextAction: "Task handoff created. The assignee should return a workflow or verdict packet tied to the original issue context.",
|
|
4688
|
+
nextTools: ["get_founder_packet_resource", "propose_shared_task", "list_founder_issue_packets"],
|
|
4689
|
+
methodology: "founder",
|
|
4250
4690
|
},
|
|
4251
4691
|
phase: "implement",
|
|
4252
4692
|
complexity: "medium",
|
|
4253
4693
|
},
|
|
4254
4694
|
{
|
|
4255
|
-
name: "
|
|
4256
|
-
category: "
|
|
4257
|
-
tags: ["
|
|
4695
|
+
name: "compare_founder_directions",
|
|
4696
|
+
category: "founder",
|
|
4697
|
+
tags: ["founder", "compare", "direction", "wedge", "tradeoffs", "score", "decision"],
|
|
4258
4698
|
quickRef: {
|
|
4259
|
-
nextAction: "
|
|
4260
|
-
nextTools: ["
|
|
4261
|
-
methodology: "
|
|
4262
|
-
|
|
4699
|
+
nextAction: "Use the recommended direction as the working wedge, then publish its weakest angle as an issue packet before committing roadmap time.",
|
|
4700
|
+
nextTools: ["publish_founder_issue_packet", "workflow_adoption_scan", "service_to_dashboard_path"],
|
|
4701
|
+
methodology: "founder",
|
|
4702
|
+
},
|
|
4703
|
+
phase: "research",
|
|
4704
|
+
complexity: "medium",
|
|
4705
|
+
},
|
|
4706
|
+
{
|
|
4707
|
+
name: "workflow_adoption_scan",
|
|
4708
|
+
category: "founder",
|
|
4709
|
+
tags: ["founder", "workflow", "adoption", "claude-code", "mcp", "install", "maintenance", "distribution"],
|
|
4710
|
+
quickRef: {
|
|
4711
|
+
nextAction: "Use the fit score to tighten the install surface and message. If adoption fit is weak, narrow the wedge before building more features.",
|
|
4712
|
+
nextTools: ["generate_team_install_plan", "service_to_dashboard_path", "founder_direction_assessment"],
|
|
4713
|
+
methodology: "founder",
|
|
4714
|
+
},
|
|
4715
|
+
phase: "research",
|
|
4716
|
+
complexity: "low",
|
|
4717
|
+
},
|
|
4718
|
+
{
|
|
4719
|
+
name: "service_to_dashboard_path",
|
|
4720
|
+
category: "founder",
|
|
4721
|
+
tags: ["founder", "service", "dashboard", "subscription", "commercial", "path", "retention"],
|
|
4722
|
+
quickRef: {
|
|
4723
|
+
nextAction: "Follow the recommended path and milestone order instead of jumping to a dashboard before the repeated workflow exists.",
|
|
4724
|
+
nextTools: ["workflow_adoption_scan", "generate_team_install_plan", "publish_founder_issue_packet"],
|
|
4725
|
+
methodology: "founder",
|
|
4726
|
+
},
|
|
4727
|
+
phase: "research",
|
|
4728
|
+
complexity: "low",
|
|
4729
|
+
},
|
|
4730
|
+
{
|
|
4731
|
+
name: "get_founder_packet_resource",
|
|
4732
|
+
category: "founder",
|
|
4733
|
+
tags: ["founder", "packet", "resource", "uri", "shared-context", "pull", "subscribe"],
|
|
4734
|
+
quickRef: {
|
|
4735
|
+
nextAction: "Use the returned resource and subscription queries to keep agent handoffs tied to the same founder packet over time.",
|
|
4736
|
+
nextTools: ["delegate_founder_issue", "list_founder_issue_packets", "build_shared_context_subscription_manifest"],
|
|
4737
|
+
methodology: "founder",
|
|
4738
|
+
},
|
|
4739
|
+
phase: "research",
|
|
4740
|
+
complexity: "low",
|
|
4741
|
+
},
|
|
4742
|
+
{
|
|
4743
|
+
name: "get_distribution_surfaces",
|
|
4744
|
+
category: "founder",
|
|
4745
|
+
tags: ["distribution", "install", "plugin", "smithery", "claude", "cursor", "surface"],
|
|
4746
|
+
quickRef: {
|
|
4747
|
+
nextAction: "Use this to see which distribution surfaces are actually ready before promising them to users or investors.",
|
|
4748
|
+
nextTools: ["generate_team_install_plan", "check_plugin_update_readiness", "install_nodebench_plugin"],
|
|
4749
|
+
methodology: "founder",
|
|
4750
|
+
},
|
|
4751
|
+
phase: "research",
|
|
4752
|
+
complexity: "low",
|
|
4753
|
+
},
|
|
4754
|
+
{
|
|
4755
|
+
name: "generate_team_install_plan",
|
|
4756
|
+
category: "founder",
|
|
4757
|
+
tags: ["distribution", "install", "team", "rollout", "claude-code", "offline", "preset"],
|
|
4758
|
+
quickRef: {
|
|
4759
|
+
nextAction: "Use the plan as the default rollout path for the target team, then verify the install flow with a real local test before broader rollout.",
|
|
4760
|
+
nextTools: ["install_nodebench_plugin", "check_plugin_update_readiness", "workflow_adoption_scan"],
|
|
4761
|
+
methodology: "founder",
|
|
4762
|
+
},
|
|
4763
|
+
phase: "ship",
|
|
4764
|
+
complexity: "low",
|
|
4765
|
+
},
|
|
4766
|
+
{
|
|
4767
|
+
name: "install_nodebench_plugin",
|
|
4768
|
+
category: "founder",
|
|
4769
|
+
tags: ["distribution", "install", "plugin", "mcp-json", "preset", "local-setup"],
|
|
4770
|
+
quickRef: {
|
|
4771
|
+
nextAction: "Write the starter .mcp.json only after previewing the dry run. Then run the local health check before handing it to a teammate.",
|
|
4772
|
+
nextTools: ["check_plugin_update_readiness", "generate_team_install_plan", "check_mcp_setup"],
|
|
4773
|
+
methodology: "founder",
|
|
4774
|
+
},
|
|
4775
|
+
phase: "implement",
|
|
4776
|
+
complexity: "low",
|
|
4777
|
+
},
|
|
4778
|
+
{
|
|
4779
|
+
name: "check_plugin_update_readiness",
|
|
4780
|
+
category: "founder",
|
|
4781
|
+
tags: ["distribution", "update", "release", "installer", "smithery", "plugin", "readiness"],
|
|
4782
|
+
quickRef: {
|
|
4783
|
+
nextAction: "Fix missing distribution surfaces before cutting the next MCP update so install and upgrade paths stay trustworthy.",
|
|
4784
|
+
nextTools: ["get_distribution_surfaces", "generate_team_install_plan", "install_nodebench_plugin"],
|
|
4785
|
+
methodology: "founder",
|
|
4786
|
+
},
|
|
4787
|
+
phase: "verify",
|
|
4788
|
+
complexity: "low",
|
|
4789
|
+
},
|
|
4790
|
+
{
|
|
4791
|
+
name: "watchlist_add_entity",
|
|
4792
|
+
category: "founder",
|
|
4793
|
+
tags: ["watchlist", "entity", "monitor", "founder", "delta", "alert"],
|
|
4794
|
+
quickRef: {
|
|
4795
|
+
nextAction: "Add the entity, then refresh and convert material changes into shared packets instead of leaving them as isolated alerts.",
|
|
4796
|
+
nextTools: ["watchlist_refresh_entities", "watchlist_get_alerts", "publish_founder_issue_packet"],
|
|
4797
|
+
methodology: "founder",
|
|
4798
|
+
},
|
|
4799
|
+
phase: "implement",
|
|
4800
|
+
complexity: "low",
|
|
4801
|
+
},
|
|
4802
|
+
{
|
|
4803
|
+
name: "watchlist_list_entities",
|
|
4804
|
+
category: "founder",
|
|
4805
|
+
tags: ["watchlist", "entity", "list", "monitor", "founder"],
|
|
4806
|
+
quickRef: {
|
|
4807
|
+
nextAction: "Review the watched entities and prune or refresh them so the watchlist stays tied to current strategic priorities.",
|
|
4808
|
+
nextTools: ["watchlist_refresh_entities", "watchlist_get_alerts", "watchlist_add_entity"],
|
|
4809
|
+
methodology: "founder",
|
|
4810
|
+
},
|
|
4811
|
+
phase: "research",
|
|
4812
|
+
complexity: "low",
|
|
4813
|
+
},
|
|
4814
|
+
{
|
|
4815
|
+
name: "watchlist_refresh_entities",
|
|
4816
|
+
category: "founder",
|
|
4817
|
+
tags: ["watchlist", "refresh", "monitor", "changes", "alerts", "delta"],
|
|
4818
|
+
quickRef: {
|
|
4819
|
+
nextAction: "Refresh only matters when the result becomes a packet, memo, or task. Turn material changes into durable founder context next.",
|
|
4820
|
+
nextTools: ["watchlist_get_alerts", "publish_founder_issue_packet", "delta_diligence"],
|
|
4821
|
+
methodology: "founder",
|
|
4822
|
+
},
|
|
4823
|
+
phase: "implement",
|
|
4824
|
+
complexity: "low",
|
|
4825
|
+
},
|
|
4826
|
+
{
|
|
4827
|
+
name: "watchlist_get_alerts",
|
|
4828
|
+
category: "founder",
|
|
4829
|
+
tags: ["watchlist", "alerts", "changes", "monitor", "triage"],
|
|
4830
|
+
quickRef: {
|
|
4831
|
+
nextAction: "Triage the alerts by strategic value, then publish or delegate the ones that should affect a real decision.",
|
|
4832
|
+
nextTools: ["publish_founder_issue_packet", "delegate_founder_issue", "watchlist_refresh_entities"],
|
|
4833
|
+
methodology: "founder",
|
|
4834
|
+
},
|
|
4835
|
+
phase: "research",
|
|
4836
|
+
complexity: "low",
|
|
4837
|
+
},
|
|
4838
|
+
{
|
|
4839
|
+
name: "share_create_packet_link",
|
|
4840
|
+
category: "founder",
|
|
4841
|
+
tags: ["share", "packet", "url", "memo", "artifact", "founder"],
|
|
4842
|
+
quickRef: {
|
|
4843
|
+
nextAction: "Create the share link only after the packet is ready to be seen outside the current session, then record where it was sent.",
|
|
4844
|
+
nextTools: ["share_get_packet_link", "share_revoke_packet_link", "record_learning"],
|
|
4845
|
+
methodology: "founder",
|
|
4846
|
+
},
|
|
4847
|
+
phase: "ship",
|
|
4848
|
+
complexity: "low",
|
|
4849
|
+
},
|
|
4850
|
+
{
|
|
4851
|
+
name: "share_get_packet_link",
|
|
4852
|
+
category: "founder",
|
|
4853
|
+
tags: ["share", "packet", "url", "lookup", "artifact"],
|
|
4854
|
+
quickRef: {
|
|
4855
|
+
nextAction: "Inspect the link state before sending it again, especially if the packet has since been superseded or revoked.",
|
|
4856
|
+
nextTools: ["share_revoke_packet_link", "share_create_packet_link"],
|
|
4857
|
+
methodology: "founder",
|
|
4858
|
+
},
|
|
4859
|
+
phase: "research",
|
|
4860
|
+
complexity: "low",
|
|
4861
|
+
},
|
|
4862
|
+
{
|
|
4863
|
+
name: "share_revoke_packet_link",
|
|
4864
|
+
category: "founder",
|
|
4865
|
+
tags: ["share", "revoke", "packet", "url", "artifact", "control"],
|
|
4866
|
+
quickRef: {
|
|
4867
|
+
nextAction: "Revoke stale or risky links as soon as the packet changes meaning or should no longer circulate.",
|
|
4868
|
+
nextTools: ["share_get_packet_link", "share_create_packet_link"],
|
|
4869
|
+
methodology: "founder",
|
|
4870
|
+
},
|
|
4871
|
+
phase: "ship",
|
|
4872
|
+
complexity: "low",
|
|
4873
|
+
},
|
|
4874
|
+
{
|
|
4875
|
+
name: "retention_register_connection",
|
|
4876
|
+
category: "founder",
|
|
4877
|
+
tags: ["retention", "qa", "register", "connection", "peer", "monitor"],
|
|
4878
|
+
quickRef: {
|
|
4879
|
+
nextAction: "Once connected, sync findings and keep the QA signal tied to the same founder operating loop instead of a separate silo.",
|
|
4880
|
+
nextTools: ["retention_sync_findings", "retention_get_status", "publish_founder_issue_packet"],
|
|
4881
|
+
methodology: "founder",
|
|
4882
|
+
},
|
|
4883
|
+
phase: "implement",
|
|
4884
|
+
complexity: "low",
|
|
4885
|
+
},
|
|
4886
|
+
{
|
|
4887
|
+
name: "retention_sync_findings",
|
|
4888
|
+
category: "founder",
|
|
4889
|
+
tags: ["retention", "qa", "sync", "findings", "score", "tokens-saved"],
|
|
4890
|
+
quickRef: {
|
|
4891
|
+
nextAction: "Treat the synced findings as operating evidence. Promote material failures into packets or tracked tasks, not just dashboard numbers.",
|
|
4892
|
+
nextTools: ["retention_get_status", "publish_founder_issue_packet", "delegate_founder_issue"],
|
|
4893
|
+
methodology: "founder",
|
|
4894
|
+
},
|
|
4895
|
+
phase: "implement",
|
|
4896
|
+
complexity: "low",
|
|
4897
|
+
},
|
|
4898
|
+
{
|
|
4899
|
+
name: "retention_get_status",
|
|
4900
|
+
category: "founder",
|
|
4901
|
+
tags: ["retention", "qa", "status", "events", "monitor"],
|
|
4902
|
+
quickRef: {
|
|
4903
|
+
nextAction: "Use the status snapshot to decide whether QA findings are current enough to influence the next founder or operator packet.",
|
|
4904
|
+
nextTools: ["retention_sync_findings", "publish_founder_issue_packet"],
|
|
4905
|
+
methodology: "founder",
|
|
4906
|
+
},
|
|
4907
|
+
phase: "research",
|
|
4908
|
+
complexity: "low",
|
|
4909
|
+
},
|
|
4910
|
+
// ═══ DOGFOOD JUDGE (Phase 13 — compound verification) ═══
|
|
4911
|
+
{
|
|
4912
|
+
name: "delta_brief",
|
|
4913
|
+
category: "delta",
|
|
4914
|
+
tags: ["delta", "brief", "what-changed", "daily", "session", "digest"],
|
|
4915
|
+
quickRef: {
|
|
4916
|
+
nextAction: "Use the brief to decide whether to dive deeper, create a memo, or update the watchlist before starting new work.",
|
|
4917
|
+
nextTools: ["delta_diligence", "delta_memo", "delta_watch", "delta_self_dogfood"],
|
|
4918
|
+
methodology: "founder",
|
|
4919
|
+
},
|
|
4920
|
+
phase: "research",
|
|
4921
|
+
complexity: "low",
|
|
4922
|
+
},
|
|
4923
|
+
{
|
|
4924
|
+
name: "delta_diligence",
|
|
4925
|
+
category: "delta",
|
|
4926
|
+
tags: ["delta", "diligence", "entity", "teardown", "competitor", "self-dogfood"],
|
|
4927
|
+
quickRef: {
|
|
4928
|
+
nextAction: "Turn the teardown into a memo, comparison, or watchlist change so the intelligence affects a real decision.",
|
|
4929
|
+
nextTools: ["delta_compare", "delta_memo", "delta_watch", "delta_handoff"],
|
|
4930
|
+
methodology: "founder",
|
|
4931
|
+
},
|
|
4932
|
+
phase: "research",
|
|
4933
|
+
complexity: "medium",
|
|
4934
|
+
},
|
|
4935
|
+
{
|
|
4936
|
+
name: "delta_handoff",
|
|
4937
|
+
category: "delta",
|
|
4938
|
+
tags: ["delta", "handoff", "delegate", "packet", "agent", "context"],
|
|
4939
|
+
quickRef: {
|
|
4940
|
+
nextAction: "Use the handoff packet as the bounded source of truth for the next agent or teammate instead of restating context manually.",
|
|
4941
|
+
nextTools: ["delta_packets", "delta_review", "delta_self_dogfood"],
|
|
4942
|
+
methodology: "founder",
|
|
4943
|
+
},
|
|
4944
|
+
phase: "implement",
|
|
4945
|
+
complexity: "medium",
|
|
4946
|
+
},
|
|
4947
|
+
{
|
|
4948
|
+
name: "delta_watch",
|
|
4949
|
+
category: "delta",
|
|
4950
|
+
tags: ["delta", "watch", "watchlist", "monitor", "alerts", "change-detection"],
|
|
4951
|
+
quickRef: {
|
|
4952
|
+
nextAction: "Keep the watchlist tied to actual strategic entities, then fold material changes back into the brief or a founder issue packet.",
|
|
4953
|
+
nextTools: ["delta_brief", "delta_diligence", "watchlist_get_alerts"],
|
|
4954
|
+
methodology: "founder",
|
|
4955
|
+
},
|
|
4956
|
+
phase: "implement",
|
|
4957
|
+
complexity: "low",
|
|
4958
|
+
},
|
|
4959
|
+
{
|
|
4960
|
+
name: "delta_memo",
|
|
4961
|
+
category: "delta",
|
|
4962
|
+
tags: ["delta", "memo", "decision", "artifact", "evidence", "share"],
|
|
4963
|
+
quickRef: {
|
|
4964
|
+
nextAction: "Promote the memo into a shareable or delegated artifact instead of leaving the recommendation trapped in-session.",
|
|
4965
|
+
nextTools: ["delta_handoff", "share_create_packet_link", "delta_review"],
|
|
4966
|
+
methodology: "founder",
|
|
4967
|
+
},
|
|
4968
|
+
phase: "ship",
|
|
4969
|
+
complexity: "medium",
|
|
4970
|
+
},
|
|
4971
|
+
{
|
|
4972
|
+
name: "delta_scan",
|
|
4973
|
+
category: "delta",
|
|
4974
|
+
tags: ["delta", "scan", "market", "self-diligence", "distribution", "setup", "runtime"],
|
|
4975
|
+
quickRef: {
|
|
4976
|
+
nextAction: "Use the risk register to fix the next runtime or onboarding gap before adding more Delta surface area.",
|
|
4977
|
+
nextTools: ["delta_self_dogfood", "delta_review", "delta_memo", "get_distribution_surfaces"],
|
|
4978
|
+
methodology: "founder",
|
|
4979
|
+
},
|
|
4980
|
+
phase: "verify",
|
|
4981
|
+
complexity: "medium",
|
|
4982
|
+
},
|
|
4983
|
+
{
|
|
4984
|
+
name: "delta_compare",
|
|
4985
|
+
category: "delta",
|
|
4986
|
+
tags: ["delta", "compare", "entities", "side-by-side", "positioning"],
|
|
4987
|
+
quickRef: {
|
|
4988
|
+
nextAction: "Refresh stale diligence first, then use the comparison to tighten the decision memo or next founder packet.",
|
|
4989
|
+
nextTools: ["delta_diligence", "delta_memo", "delta_review"],
|
|
4990
|
+
methodology: "founder",
|
|
4991
|
+
},
|
|
4992
|
+
phase: "research",
|
|
4993
|
+
complexity: "medium",
|
|
4994
|
+
},
|
|
4995
|
+
{
|
|
4996
|
+
name: "delta_review",
|
|
4997
|
+
category: "delta",
|
|
4998
|
+
tags: ["delta", "review", "postmortem", "forecast", "reality", "learning"],
|
|
4999
|
+
quickRef: {
|
|
5000
|
+
nextAction: "Use review packets to feed the next scan, memo, or dogfood loop so the product compounds instead of repeating itself.",
|
|
5001
|
+
nextTools: ["delta_scan", "delta_self_dogfood", "record_learning"],
|
|
5002
|
+
methodology: "founder",
|
|
5003
|
+
},
|
|
5004
|
+
phase: "verify",
|
|
5005
|
+
complexity: "low",
|
|
5006
|
+
},
|
|
5007
|
+
{
|
|
5008
|
+
name: "delta_retain",
|
|
5009
|
+
category: "delta",
|
|
5010
|
+
tags: ["delta", "retain", "memory", "context", "ttl", "session"],
|
|
5011
|
+
quickRef: {
|
|
5012
|
+
nextAction: "Retain only the context that should actually shape later decisions, then verify it shows up in the next brief.",
|
|
5013
|
+
nextTools: ["delta_brief", "delta_packets", "delta_review"],
|
|
5014
|
+
methodology: "founder",
|
|
5015
|
+
},
|
|
5016
|
+
phase: "implement",
|
|
5017
|
+
complexity: "low",
|
|
5018
|
+
},
|
|
5019
|
+
{
|
|
5020
|
+
name: "delta_packets",
|
|
5021
|
+
category: "delta",
|
|
5022
|
+
tags: ["delta", "packets", "history", "lineage", "artifacts"],
|
|
5023
|
+
quickRef: {
|
|
5024
|
+
nextAction: "Use packet history to see whether Delta is learning or just generating more output without closure.",
|
|
5025
|
+
nextTools: ["delta_review", "delta_self_dogfood", "delta_handoff"],
|
|
5026
|
+
methodology: "founder",
|
|
5027
|
+
},
|
|
5028
|
+
phase: "research",
|
|
5029
|
+
complexity: "low",
|
|
5030
|
+
},
|
|
5031
|
+
{
|
|
5032
|
+
name: "delta_self_dogfood",
|
|
5033
|
+
category: "delta",
|
|
5034
|
+
tags: ["delta", "dogfood", "self-check", "runtime", "distribution", "accessibility", "friction"],
|
|
5035
|
+
quickRef: {
|
|
5036
|
+
nextAction: "Fix the first high-severity runtime or distribution issue immediately, then rerun the self-dogfood pass until the risk register is quieter.",
|
|
5037
|
+
nextTools: ["delta_scan", "delta_review", "get_distribution_surfaces", "generate_team_install_plan"],
|
|
5038
|
+
methodology: "founder",
|
|
5039
|
+
tip: "This is the canonical Delta maintenance loop: verify the runtime, verify setup friction, then verify whether people have a reason to come back.",
|
|
5040
|
+
},
|
|
5041
|
+
phase: "verify",
|
|
5042
|
+
complexity: "medium",
|
|
5043
|
+
},
|
|
5044
|
+
{
|
|
5045
|
+
name: "start_dogfood_session",
|
|
5046
|
+
category: "dogfood_judge",
|
|
5047
|
+
tags: ["dogfood", "session", "start", "loop", "weekly_reset", "pre_delegation", "company_search"],
|
|
5048
|
+
quickRef: {
|
|
5049
|
+
nextAction: "Session started. Use the product for the canonical loop. Record corrections with record_manual_correction and repeated questions with record_repeated_question.",
|
|
5050
|
+
nextTools: ["record_manual_correction", "record_repeated_question", "end_dogfood_session"],
|
|
5051
|
+
methodology: "dogfood_judge",
|
|
5052
|
+
tip: "Always specify loopType — the regression gate checks all 3 canonical loops.",
|
|
5053
|
+
},
|
|
5054
|
+
phase: "implement",
|
|
5055
|
+
complexity: "medium",
|
|
5056
|
+
},
|
|
5057
|
+
{
|
|
5058
|
+
name: "end_dogfood_session",
|
|
5059
|
+
category: "dogfood_judge",
|
|
5060
|
+
tags: ["dogfood", "session", "end", "summary", "delegation", "export", "time_to_value"],
|
|
5061
|
+
quickRef: {
|
|
5062
|
+
nextAction: "Session ended. Now judge it with judge_session (6-dimension scoring) and rate_packet_usefulness.",
|
|
5063
|
+
nextTools: ["judge_session", "rate_packet_usefulness", "get_dogfood_sessions"],
|
|
5064
|
+
methodology: "dogfood_judge",
|
|
5065
|
+
},
|
|
5066
|
+
phase: "implement",
|
|
5067
|
+
complexity: "medium",
|
|
5068
|
+
},
|
|
5069
|
+
{
|
|
5070
|
+
name: "record_manual_correction",
|
|
5071
|
+
category: "dogfood_judge",
|
|
5072
|
+
tags: ["dogfood", "correction", "manual", "human", "edit", "factual", "priority", "scope", "tone", "missing"],
|
|
5073
|
+
quickRef: {
|
|
5074
|
+
nextAction: "Correction recorded. Every correction is a system gap. After session ends, classify root cause with classify_failure.",
|
|
5075
|
+
nextTools: ["classify_failure", "end_dogfood_session", "record_repeated_question"],
|
|
5076
|
+
methodology: "dogfood_judge",
|
|
5077
|
+
tip: "Include beforeValue and afterValue — the delta reveals whether the system was wrong (factual) or incomplete (missing).",
|
|
5078
|
+
},
|
|
5079
|
+
phase: "implement",
|
|
5080
|
+
complexity: "medium",
|
|
5081
|
+
},
|
|
5082
|
+
{
|
|
5083
|
+
name: "record_repeated_question",
|
|
5084
|
+
category: "dogfood_judge",
|
|
5085
|
+
tags: ["dogfood", "repeat", "question", "cognition", "memory", "warm", "cold", "compounding"],
|
|
5086
|
+
quickRef: {
|
|
5087
|
+
nextAction: "Repeat question recorded. This is the core failure signal. After session, check get_repeat_cognition_metrics for compound score.",
|
|
5088
|
+
nextTools: ["get_repeat_cognition_metrics", "classify_failure", "end_dogfood_session"],
|
|
5089
|
+
methodology: "dogfood_judge",
|
|
5090
|
+
tip: "If priorSessionId is known, include it — the system calculates time-since-last-asked to measure memory decay.",
|
|
5091
|
+
},
|
|
5092
|
+
phase: "implement",
|
|
5093
|
+
complexity: "medium",
|
|
5094
|
+
},
|
|
5095
|
+
{
|
|
5096
|
+
name: "rate_packet_usefulness",
|
|
5097
|
+
category: "dogfood_judge",
|
|
5098
|
+
tags: ["dogfood", "packet", "usefulness", "export", "delegate", "reuse", "abandon", "edits"],
|
|
5099
|
+
quickRef: {
|
|
5100
|
+
nextAction: "Packet rated. Check get_repeat_cognition_metrics to see abandonment rate trend. High abandonment = packets aren't useful enough.",
|
|
5101
|
+
nextTools: ["get_repeat_cognition_metrics", "get_dogfood_sessions", "classify_failure"],
|
|
5102
|
+
methodology: "dogfood_judge",
|
|
5103
|
+
},
|
|
5104
|
+
phase: "implement",
|
|
5105
|
+
complexity: "medium",
|
|
5106
|
+
},
|
|
5107
|
+
{
|
|
5108
|
+
name: "judge_session",
|
|
5109
|
+
category: "dogfood_judge",
|
|
5110
|
+
tags: ["dogfood", "judge", "score", "truth", "compression", "anticipation", "output", "delegation", "trust"],
|
|
5111
|
+
quickRef: {
|
|
5112
|
+
nextAction: "Session judged. If overallScore < 3.5, classify failures with classify_failure. Check get_regression_gate for loop-level pass/fail.",
|
|
5113
|
+
nextTools: ["classify_failure", "get_regression_gate", "get_dogfood_sessions"],
|
|
5114
|
+
methodology: "dogfood_judge",
|
|
5115
|
+
tip: "Be honest — inflated scores defeat the purpose. Score 1-2 for failures, 3 for mediocre, 4-5 for genuinely useful.",
|
|
4263
5116
|
},
|
|
4264
5117
|
phase: "verify",
|
|
4265
5118
|
complexity: "medium",
|
|
@@ -4366,6 +5219,218 @@ const REGISTRY_ENTRIES = [
|
|
|
4366
5219
|
phase: "research",
|
|
4367
5220
|
complexity: "low",
|
|
4368
5221
|
},
|
|
5222
|
+
// ═══ SCENARIO COMPILER (MiroFish essence) ═══
|
|
5223
|
+
{
|
|
5224
|
+
name: "compile_scenarios",
|
|
5225
|
+
category: "scenario_compiler",
|
|
5226
|
+
tags: ["scenario", "future", "branching", "prediction", "strategy", "mirofish", "simulation", "decision"],
|
|
5227
|
+
quickRef: {
|
|
5228
|
+
nextAction: "Scenarios compiled. Score individual branches for deeper analysis, or compile a decision packet from the results.",
|
|
5229
|
+
nextTools: ["score_scenario_branch", "compile_tension_model", "compile_decision_packet"],
|
|
5230
|
+
methodology: "scenario_compiler",
|
|
5231
|
+
tip: "Use 5 branches for balanced coverage. Add time_horizon='1_year' for strategic planning, '30_days' for tactical decisions.",
|
|
5232
|
+
},
|
|
5233
|
+
phase: "research",
|
|
5234
|
+
complexity: "high",
|
|
5235
|
+
},
|
|
5236
|
+
{
|
|
5237
|
+
name: "score_scenario_branch",
|
|
5238
|
+
category: "scenario_compiler",
|
|
5239
|
+
tags: ["scenario", "scoring", "branch", "evidence", "probability", "update"],
|
|
5240
|
+
quickRef: {
|
|
5241
|
+
nextAction: "Branch scored with updated probability. Feed new evidence to refine, or compile a decision packet with the scored scenarios.",
|
|
5242
|
+
nextTools: ["compile_scenarios", "compile_decision_packet"],
|
|
5243
|
+
methodology: "scenario_compiler",
|
|
5244
|
+
},
|
|
5245
|
+
phase: "verify",
|
|
5246
|
+
complexity: "medium",
|
|
5247
|
+
},
|
|
5248
|
+
{
|
|
5249
|
+
name: "compile_tension_model",
|
|
5250
|
+
category: "scenario_compiler",
|
|
5251
|
+
tags: ["tension", "forces", "tradeoff", "axis", "conflict", "resolution", "strategy"],
|
|
5252
|
+
quickRef: {
|
|
5253
|
+
nextAction: "Tension model built. Use to inform scenario branches, or feed directly into a decision packet for stakeholder communication.",
|
|
5254
|
+
nextTools: ["compile_scenarios", "compile_decision_packet"],
|
|
5255
|
+
methodology: "scenario_compiler",
|
|
5256
|
+
tip: "Explicit tensions replace swarm simulation — model 5-7 axes for most decisions.",
|
|
5257
|
+
},
|
|
5258
|
+
phase: "research",
|
|
5259
|
+
complexity: "medium",
|
|
5260
|
+
},
|
|
5261
|
+
// ═══ PACKET COMPILER ═══
|
|
5262
|
+
{
|
|
5263
|
+
name: "compile_decision_packet",
|
|
5264
|
+
category: "packet_compiler",
|
|
5265
|
+
tags: ["packet", "memo", "html", "spreadsheet", "delegation", "slides", "artifact", "export", "brief", "report"],
|
|
5266
|
+
quickRef: {
|
|
5267
|
+
nextAction: "Decision packet compiled. Share via shareable URL, export to slides, or hand off as delegation packet to an agent.",
|
|
5268
|
+
nextTools: ["compile_environment_spec", "compile_scenarios"],
|
|
5269
|
+
methodology: "packet_compiler",
|
|
5270
|
+
tip: "Format options: memo (markdown), html (briefing page), spreadsheet (CSV), delegation (agent handoff), slides (outline).",
|
|
5271
|
+
},
|
|
5272
|
+
phase: "ship",
|
|
5273
|
+
complexity: "medium",
|
|
5274
|
+
},
|
|
5275
|
+
{
|
|
5276
|
+
name: "compile_environment_spec",
|
|
5277
|
+
category: "packet_compiler",
|
|
5278
|
+
tags: ["environment", "simulation", "clone", "benchmark", "spec", "ontology", "workflow", "seed-data", "mcp", "grader"],
|
|
5279
|
+
quickRef: {
|
|
5280
|
+
nextAction: "Environment spec compiled. Use to build realistic agent training environments, benchmark suites, or product clones.",
|
|
5281
|
+
nextTools: ["compile_decision_packet", "compile_scenarios"],
|
|
5282
|
+
methodology: "packet_compiler",
|
|
5283
|
+
tip: "Scope options: 'full' (entire product), 'workflow' (specific flow), 'minimal' (core only).",
|
|
5284
|
+
},
|
|
5285
|
+
phase: "ship",
|
|
5286
|
+
complexity: "high",
|
|
5287
|
+
},
|
|
5288
|
+
// ═══ PLAN SYNTHESIS ═══
|
|
5289
|
+
{
|
|
5290
|
+
name: "synthesize_feature_plan",
|
|
5291
|
+
category: "plan_synthesis",
|
|
5292
|
+
tags: ["plan", "feature", "implementation", "proposal", "strategy", "phases", "roadmap", "delegation"],
|
|
5293
|
+
quickRef: {
|
|
5294
|
+
nextAction: "Plan synthesized. Review strategic fit and phases, then generate a proposal memo or delegation packet.",
|
|
5295
|
+
nextTools: ["generate_proposal_memo", "generate_plan_delegation_packet", "compile_decision_packet"],
|
|
5296
|
+
methodology: "plan_synthesis",
|
|
5297
|
+
tip: "Plans are context-conditioned: they use your founder profile, initiatives, contradictions, and codebase readiness.",
|
|
5298
|
+
},
|
|
5299
|
+
phase: "research",
|
|
5300
|
+
complexity: "high",
|
|
5301
|
+
},
|
|
5302
|
+
{
|
|
5303
|
+
name: "synthesize_integration_proposal",
|
|
5304
|
+
category: "plan_synthesis",
|
|
5305
|
+
tags: ["integration", "api", "external", "adapter", "compatibility", "migration", "proposal"],
|
|
5306
|
+
quickRef: {
|
|
5307
|
+
nextAction: "Integration proposal ready. Review compatibility assessment, then generate memo or delegate to agent.",
|
|
5308
|
+
nextTools: ["generate_proposal_memo", "generate_plan_delegation_packet", "enrich_entity"],
|
|
5309
|
+
methodology: "plan_synthesis",
|
|
5310
|
+
tip: "For external tool/API/framework integrations. Covers compatibility, adapter, data mapping, and UI surfacing.",
|
|
5311
|
+
},
|
|
5312
|
+
phase: "research",
|
|
5313
|
+
complexity: "high",
|
|
5314
|
+
},
|
|
5315
|
+
{
|
|
5316
|
+
name: "synthesize_extension_plan",
|
|
5317
|
+
category: "plan_synthesis",
|
|
5318
|
+
tags: ["extension", "deepening", "evolution", "improvement", "gap", "audit", "existing"],
|
|
5319
|
+
quickRef: {
|
|
5320
|
+
nextAction: "Extension plan ready. Review gap prioritization, then generate memo or delegate implementation.",
|
|
5321
|
+
nextTools: ["generate_proposal_memo", "generate_plan_delegation_packet", "detect_contradictions"],
|
|
5322
|
+
methodology: "plan_synthesis",
|
|
5323
|
+
tip: "For extending existing features. Starts with current state audit and gap analysis before proposing changes.",
|
|
5324
|
+
},
|
|
5325
|
+
phase: "research",
|
|
5326
|
+
complexity: "medium",
|
|
5327
|
+
},
|
|
5328
|
+
{
|
|
5329
|
+
name: "generate_proposal_memo",
|
|
5330
|
+
category: "plan_synthesis",
|
|
5331
|
+
tags: ["memo", "proposal", "markdown", "html", "export", "document", "brief", "report"],
|
|
5332
|
+
quickRef: {
|
|
5333
|
+
nextAction: "Memo rendered. Share with stakeholders or export as HTML for presentation.",
|
|
5334
|
+
nextTools: ["generate_plan_delegation_packet", "compile_decision_packet"],
|
|
5335
|
+
methodology: "plan_synthesis",
|
|
5336
|
+
tip: "Renders a FeaturePlan as a human-readable memo. Formats: 'memo' (markdown) or 'html'.",
|
|
5337
|
+
},
|
|
5338
|
+
phase: "ship",
|
|
5339
|
+
complexity: "low",
|
|
5340
|
+
},
|
|
5341
|
+
{
|
|
5342
|
+
name: "generate_plan_delegation_packet",
|
|
5343
|
+
category: "plan_synthesis",
|
|
5344
|
+
tags: ["delegation", "agent", "handoff", "task", "packet", "claude", "openclaw", "autonomous"],
|
|
5345
|
+
quickRef: {
|
|
5346
|
+
nextAction: "Delegation packet ready. Send to agent via commandBridge or copy as agent brief.",
|
|
5347
|
+
nextTools: ["compile_decision_packet", "start_delivery_run"],
|
|
5348
|
+
methodology: "plan_synthesis",
|
|
5349
|
+
tip: "Converts plan into OutboundTaskPacket format with scope, constraints, and acceptance criteria.",
|
|
5350
|
+
},
|
|
5351
|
+
phase: "ship",
|
|
5352
|
+
complexity: "low",
|
|
5353
|
+
},
|
|
5354
|
+
// ═══ ENTITY TEMPORAL ═══
|
|
5355
|
+
{
|
|
5356
|
+
name: "track_entity_changes",
|
|
5357
|
+
category: "entity_temporal",
|
|
5358
|
+
tags: ["entity", "changes", "diff", "temporal", "tracking", "staleness", "monitoring", "delta"],
|
|
5359
|
+
quickRef: {
|
|
5360
|
+
nextAction: "Changes tracked. Detect contradictions between old and new state, or compile a decision packet incorporating the changes.",
|
|
5361
|
+
nextTools: ["detect_contradictions", "build_temporal_graph", "compile_decision_packet"],
|
|
5362
|
+
methodology: "entity_temporal",
|
|
5363
|
+
tip: "Track specific fields (valuation, team, product, funding, strategy) or use 'all' for comprehensive diff.",
|
|
5364
|
+
},
|
|
5365
|
+
phase: "research",
|
|
5366
|
+
complexity: "medium",
|
|
5367
|
+
},
|
|
5368
|
+
{
|
|
5369
|
+
name: "detect_contradictions",
|
|
5370
|
+
category: "entity_temporal",
|
|
5371
|
+
tags: ["contradiction", "conflict", "trust", "verification", "claims", "sources", "diligence"],
|
|
5372
|
+
quickRef: {
|
|
5373
|
+
nextAction: "Contradictions detected. Investigate high-severity items, build temporal graph for lineage, or compile into a diligence packet.",
|
|
5374
|
+
nextTools: ["track_entity_changes", "build_temporal_graph", "compile_decision_packet"],
|
|
5375
|
+
methodology: "entity_temporal",
|
|
5376
|
+
tip: "High-severity contradictions require verification before any decision. The resolution_hint suggests where to look.",
|
|
5377
|
+
},
|
|
5378
|
+
phase: "verify",
|
|
5379
|
+
complexity: "medium",
|
|
5380
|
+
},
|
|
5381
|
+
{
|
|
5382
|
+
name: "build_temporal_graph",
|
|
5383
|
+
category: "entity_temporal",
|
|
5384
|
+
tags: ["graph", "temporal", "edges", "relationships", "adjacency", "network", "entity", "evolution", "staleness"],
|
|
5385
|
+
quickRef: {
|
|
5386
|
+
nextAction: "Temporal graph built. Check for stale edges needing refresh, detect contradictions across time, or compile entity intelligence into a packet.",
|
|
5387
|
+
nextTools: ["detect_contradictions", "track_entity_changes", "compile_decision_packet"],
|
|
5388
|
+
methodology: "entity_temporal",
|
|
5389
|
+
tip: "Depth 1 = direct relationships. Depth 2 = relationships of relationships. Depth 3 = full neighborhood. Stale edges (>30 days unverified) flagged automatically.",
|
|
5390
|
+
},
|
|
5391
|
+
phase: "research",
|
|
5392
|
+
complexity: "high",
|
|
5393
|
+
},
|
|
5394
|
+
// ── Claude Code Ingestion ────────────────────────────────────────────
|
|
5395
|
+
{
|
|
5396
|
+
name: "ingest_claude_code_sessions",
|
|
5397
|
+
category: "ingestion",
|
|
5398
|
+
tags: ["claude-code", "jsonl", "transcript", "session", "ingest", "import", "context", "founder"],
|
|
5399
|
+
quickRef: {
|
|
5400
|
+
nextAction: "Sessions scanned. Review summaries, then use ingest_codebase_changes to fingerprint the working directory, or get_ingest_status for full source overview.",
|
|
5401
|
+
nextTools: ["ingest_codebase_changes", "get_ingest_status"],
|
|
5402
|
+
methodology: "founder",
|
|
5403
|
+
tip: "Use projectFilter to scope to a specific project. Use since to only get recent sessions.",
|
|
5404
|
+
},
|
|
5405
|
+
phase: "research",
|
|
5406
|
+
complexity: "low",
|
|
5407
|
+
},
|
|
5408
|
+
{
|
|
5409
|
+
name: "ingest_codebase_changes",
|
|
5410
|
+
category: "ingestion",
|
|
5411
|
+
tags: ["codebase", "fingerprint", "git", "changes", "diff", "ingest", "context", "founder"],
|
|
5412
|
+
quickRef: {
|
|
5413
|
+
nextAction: "Codebase fingerprinted. Compare with previous fingerprint to detect changes, or use ingest_claude_code_sessions to correlate with coding sessions.",
|
|
5414
|
+
nextTools: ["ingest_claude_code_sessions", "get_ingest_status"],
|
|
5415
|
+
methodology: "founder",
|
|
5416
|
+
tip: "Tracks package.json, README, CLAUDE.md, schema files, and recent git commits.",
|
|
5417
|
+
},
|
|
5418
|
+
phase: "research",
|
|
5419
|
+
complexity: "low",
|
|
5420
|
+
},
|
|
5421
|
+
{
|
|
5422
|
+
name: "get_ingest_status",
|
|
5423
|
+
category: "ingestion",
|
|
5424
|
+
tags: ["status", "sources", "claude-code", "codebase", "sync", "health", "founder"],
|
|
5425
|
+
quickRef: {
|
|
5426
|
+
nextAction: "Status checked. If sources are ready, use ingest_claude_code_sessions or ingest_codebase_changes to pull context.",
|
|
5427
|
+
nextTools: ["ingest_claude_code_sessions", "ingest_codebase_changes"],
|
|
5428
|
+
methodology: "founder",
|
|
5429
|
+
tip: "Run this first to see what data sources are available before ingesting.",
|
|
5430
|
+
},
|
|
5431
|
+
phase: "utility",
|
|
5432
|
+
complexity: "low",
|
|
5433
|
+
},
|
|
4369
5434
|
];
|
|
4370
5435
|
// ── Exported lookup structures ───────────────────────────────────────────
|
|
4371
5436
|
/** Map of tool name → registry entry for O(1) lookup */
|
|
@@ -5414,6 +6479,119 @@ export function hybridSearch(query, tools, options) {
|
|
|
5414
6479
|
export const SEARCH_MODES = ["hybrid", "fuzzy", "regex", "prefix", "semantic", "exact", "dense", "embedding"];
|
|
5415
6480
|
/** Pre-built workflow chains for common tasks */
|
|
5416
6481
|
export const WORKFLOW_CHAINS = {
|
|
6482
|
+
local_account_sync: {
|
|
6483
|
+
name: "Local Account Sync",
|
|
6484
|
+
description: "Pair a local-first device with a web account, inspect the queue, and flush durable state through the outbound sync bridge",
|
|
6485
|
+
steps: [
|
|
6486
|
+
{ tool: "upsert_durable_object", action: "Register the local view, screen, run, artifact, or outcome objects that matter before syncing anything" },
|
|
6487
|
+
{ tool: "record_provenance_receipt", action: "Emit durable receipts for meaningful actions so sync carries replayable evidence, not just summaries" },
|
|
6488
|
+
{ tool: "bind_local_account", action: "Record explicit device -> user/workspace permission and granted scopes" },
|
|
6489
|
+
{ tool: "list_pending_sync_operations", action: "Inspect the outbound queue and confirm what will leave the device" },
|
|
6490
|
+
{ tool: "run_sync_bridge_flush", action: "Dial out over the outbound websocket and replicate the approved local operations" },
|
|
6491
|
+
{ tool: "get_sync_bridge_status", action: "Verify queue health, binding state, and the last acknowledged sync watermark" },
|
|
6492
|
+
],
|
|
6493
|
+
},
|
|
6494
|
+
shared_context_protocol: {
|
|
6495
|
+
name: "Shared Context Protocol",
|
|
6496
|
+
description: "Register peers, publish versioned context packets, hand off tasks, and inspect the scoped protocol state",
|
|
6497
|
+
steps: [
|
|
6498
|
+
{ tool: "register_shared_context_peer", action: "Register a peer with scoped identity, role, surface, capabilities, and summary" },
|
|
6499
|
+
{ tool: "publish_shared_context", action: "Publish a structured packet instead of sending ad hoc text" },
|
|
6500
|
+
{ tool: "propose_shared_task", action: "Delegate bounded work to another peer with explicit input context IDs" },
|
|
6501
|
+
{ tool: "accept_shared_task", action: "Accept the handoff when the assignee has the right scope and tools" },
|
|
6502
|
+
{ tool: "complete_shared_task", action: "Return the output packet and close the task with lineage intact" },
|
|
6503
|
+
{ tool: "get_shared_context_snapshot", action: "Inspect peers, packets, tasks, and unread messages in one place" },
|
|
6504
|
+
],
|
|
6505
|
+
},
|
|
6506
|
+
founder_direction_pressure_test: {
|
|
6507
|
+
name: "Founder Direction Pressure Test",
|
|
6508
|
+
description: "Pressure-test a new company direction, turn the weak angles into shared packets, and delegate the follow-up work",
|
|
6509
|
+
steps: [
|
|
6510
|
+
{ tool: "founder_local_gather", action: "Pull the latest local project, dogfood, and session-memory context so the assessment uses real evidence" },
|
|
6511
|
+
{ tool: "founder_direction_assessment", action: "Score the direction across team shape, AI stance, build speed, installability, adoption, credibility, and commercialization" },
|
|
6512
|
+
{ tool: "publish_founder_issue_packet", action: "Publish the weakest founder angle as a durable issue packet with resource URI and lineage" },
|
|
6513
|
+
{ tool: "delegate_founder_issue", action: "Delegate a bounded follow-up task tied to the founder issue instead of leaving the risk abstract" },
|
|
6514
|
+
{ tool: "record_learning", action: "Capture what changed in the direction thesis after the pressure test" },
|
|
6515
|
+
],
|
|
6516
|
+
},
|
|
6517
|
+
founder_direction_ops: {
|
|
6518
|
+
name: "Founder Direction Ops",
|
|
6519
|
+
description: "Compare directions, publish the weakest founder issue, scan adoption, plan distribution, and delegate the next bounded follow-up",
|
|
6520
|
+
steps: [
|
|
6521
|
+
{ tool: "compare_founder_directions", action: "Compare candidate directions and pick the best wedge with an explicit falsifier" },
|
|
6522
|
+
{ tool: "publish_founder_issue_packet", action: "Turn the weakest angle into a founder issue packet with lineage and a reusable resource URI" },
|
|
6523
|
+
{ tool: "workflow_adoption_scan", action: "Check whether the wedge matches current high-frequency workflows like Claude Code + MCP" },
|
|
6524
|
+
{ tool: "service_to_dashboard_path", action: "Decide whether the business should stay service-first or graduate into a dashboard subscription later" },
|
|
6525
|
+
{ tool: "delegate_founder_issue", action: "Delegate the highest-risk founder issue as a bounded shared task instead of broadening the roadmap" },
|
|
6526
|
+
],
|
|
6527
|
+
},
|
|
6528
|
+
founder_distribution_rollout: {
|
|
6529
|
+
name: "Founder Distribution Rollout",
|
|
6530
|
+
description: "Audit install/update readiness, generate a team install plan, write the starter MCP config, and connect supporting QA signals",
|
|
6531
|
+
steps: [
|
|
6532
|
+
{ tool: "get_distribution_surfaces", action: "Inspect which install, plugin, dashboard, and discovery surfaces are actually ready" },
|
|
6533
|
+
{ tool: "check_plugin_update_readiness", action: "Verify package version, installer, Claude/Cursor config, and Smithery metadata before release" },
|
|
6534
|
+
{ tool: "generate_team_install_plan", action: "Generate the install and rollout path that matches the real team workflow" },
|
|
6535
|
+
{ tool: "install_nodebench_plugin", action: "Write or preview the starter .mcp.json for the target directory" },
|
|
6536
|
+
{ tool: "retention_register_connection", action: "Connect retention.sh QA if the rollout needs cross-tool QA evidence in the same operating loop" },
|
|
6537
|
+
],
|
|
6538
|
+
},
|
|
6539
|
+
founder_progression_review: {
|
|
6540
|
+
name: "Founder Progression Review",
|
|
6541
|
+
description: "Assess the founder stage, expose gaps, map next unlocks, and produce the first shareable artifact",
|
|
6542
|
+
steps: [
|
|
6543
|
+
{ tool: "founder_stage_assess", action: "Assess the founder/company stage so the rest of the workflow uses a real baseline" },
|
|
6544
|
+
{ tool: "founder_gaps_detect", action: "Identify the missing foundations and hidden weaknesses blocking the next stage" },
|
|
6545
|
+
{ tool: "founder_materials_check", action: "Convert the weak areas into a concrete materials checklist instead of vague advice" },
|
|
6546
|
+
{ tool: "founder_ontrack_scorecard", action: "Define what must happen in the next 2 weeks and 3 months to stay on track" },
|
|
6547
|
+
{ tool: "build_slack_onepager", action: "Export the founder one-page report so the result can actually be shared and reused" },
|
|
6548
|
+
],
|
|
6549
|
+
},
|
|
6550
|
+
founder_operating_model_review: {
|
|
6551
|
+
name: "Founder Operating Model Review",
|
|
6552
|
+
description: "Resolve company mode, packet routing, queue topology, permission policy, and oracle definitions before scaling the workflow",
|
|
6553
|
+
steps: [
|
|
6554
|
+
{ tool: "detect_company_mode", action: "Decide whether this is an own-company, external-company, or mixed-comparison run before routing anything else" },
|
|
6555
|
+
{ tool: "route_founder_packet", action: "Use the packet router as the canonical policy decision for packet, artifact, export adapter, and next action" },
|
|
6556
|
+
{ tool: "get_founder_execution_order", action: "Lock the forced execution order so search, MCP, and UI surfaces follow the same sequence" },
|
|
6557
|
+
{ tool: "get_founder_job_topology", action: "Check the async queues that will own sweeps, refreshes, export delivery, delegation, and benchmark runs" },
|
|
6558
|
+
{ tool: "get_source_trust_policy", action: "Verify what each source class can be read, stored, summarized, or exported as before mixing sensitive context" },
|
|
6559
|
+
{ tool: "get_benchmark_oracles", action: "Load the benchmark oracle set so autonomy claims are backed by explicit deterministic and judged checks" },
|
|
6560
|
+
],
|
|
6561
|
+
},
|
|
6562
|
+
founder_vertical_diligence: {
|
|
6563
|
+
name: "Founder Vertical Diligence",
|
|
6564
|
+
description: "Classify the company, load the right diligence pack, verify evidence gaps, and prepare a diligence-ready packet",
|
|
6565
|
+
steps: [
|
|
6566
|
+
{ tool: "detect_vertical", action: "Classify the company into the correct major diligence lane" },
|
|
6567
|
+
{ tool: "detect_subvertical", action: "Tighten the classification so the wrong diligence assumptions do not leak into the packet" },
|
|
6568
|
+
{ tool: "load_diligence_pack", action: "Load the evidence classes, evaluator expectations, and readiness definition for that lane" },
|
|
6569
|
+
{ tool: "evidence_gap_scan", action: "Identify missing evidence, unverifiable claims, and submission blockers" },
|
|
6570
|
+
{ tool: "build_diligence_packet", action: "Compile the evidence, gaps, and sensitivities into one reusable diligence artifact" },
|
|
6571
|
+
],
|
|
6572
|
+
},
|
|
6573
|
+
founder_workflow_optimization: {
|
|
6574
|
+
name: "Founder Workflow Optimization",
|
|
6575
|
+
description: "Compare current and optimized paths, validate the shortcut, then package the proof as a benchmark-backed memo",
|
|
6576
|
+
steps: [
|
|
6577
|
+
{ tool: "compare_workflow_paths", action: "Compare the current workflow with the proposed shorter path" },
|
|
6578
|
+
{ tool: "validate_shortcut", action: "Explicitly validate that the shortcut preserves required quality and evidence" },
|
|
6579
|
+
{ tool: "shortest_valid_path", action: "Derive the shortest valid path that still produces the same artifact class" },
|
|
6580
|
+
{ tool: "cheapest_valid_path", action: "Check whether there is an even cheaper path worth using in production" },
|
|
6581
|
+
{ tool: "build_before_after_memo", action: "Package the before/after proof into one memo that people can inspect" },
|
|
6582
|
+
{ tool: "run_founder_autonomy_benchmark", action: "Promote the proof into a benchmark lane instead of keeping it as an anecdote" },
|
|
6583
|
+
],
|
|
6584
|
+
},
|
|
6585
|
+
self_directed_delivery: {
|
|
6586
|
+
name: "Self-Directed Delivery Loop",
|
|
6587
|
+
description: "One durable run across recon, plan, implementation, dogfood, judge, and verification",
|
|
6588
|
+
steps: [
|
|
6589
|
+
{ tool: "run_self_directed_delivery_loop", action: "Execute the local-first research -> plan -> implement -> dogfood -> judge loop" },
|
|
6590
|
+
{ tool: "get_self_directed_delivery_run", action: "Inspect per-stage receipts, failure reasons, and recommendations" },
|
|
6591
|
+
{ tool: "run_mandatory_flywheel", action: "Use the recorded evidence to verify all 6 mandatory steps are explicit and green" },
|
|
6592
|
+
{ tool: "record_learning", action: "Bank patterns or regressions discovered during the loop" },
|
|
6593
|
+
],
|
|
6594
|
+
},
|
|
5417
6595
|
new_feature: {
|
|
5418
6596
|
name: "Build a New Feature",
|
|
5419
6597
|
description: "End-to-end workflow from research to ship",
|