attention-manifest-protocol 0.4.2 → 0.4.4
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/CHANGELOG.md +341 -293
- package/CHANGELOG.zh-CN.md +41 -8
- package/README.md +250 -171
- package/README.zh-CN.md +251 -171
- package/lib/assignment/assign.d.ts +102 -0
- package/lib/assignment/assign.js +556 -0
- package/lib/assignment/binding.d.ts +103 -0
- package/lib/assignment/binding.js +575 -0
- package/lib/assignment/errors.d.ts +14 -0
- package/lib/assignment/errors.js +16 -0
- package/lib/assignment/guards.d.ts +18 -0
- package/lib/assignment/guards.js +28 -0
- package/lib/assignment/index.d.ts +10 -0
- package/lib/assignment/index.js +10 -0
- package/lib/assignment/types.d.ts +169 -0
- package/lib/assignment/types.js +1 -0
- package/lib/attention/budget.d.ts +1 -1
- package/lib/attention/budget.js +31 -9
- package/lib/bayes/engine.js +2 -1
- package/lib/bayes/reliability.js +25 -10
- package/lib/boundary/frame.d.ts +10 -4
- package/lib/boundary/frame.js +346 -109
- package/lib/boundary/kinds.d.ts +11 -0
- package/lib/boundary/kinds.js +33 -0
- package/lib/boundary/refTable.d.ts +19 -9
- package/lib/boundary/refTable.js +128 -30
- package/lib/boundary/toolCall.d.ts +22 -10
- package/lib/boundary/toolCall.js +798 -97
- package/lib/concept/conceptBudget.js +10 -1
- package/lib/concurrency/idempotency.d.ts +4 -3
- package/lib/concurrency/idempotency.js +57 -13
- package/lib/concurrency/retry.js +18 -3
- package/lib/context/agentContext.d.ts +13 -0
- package/lib/context/agentContext.js +14 -1
- package/lib/context/ast.d.ts +4 -1
- package/lib/context/ast.js +13 -3
- package/lib/context/contentStore.js +22 -9
- package/lib/context/contextBuilder.d.ts +457 -0
- package/lib/context/contextBuilder.js +1395 -0
- package/lib/context/contextPackage.d.ts +214 -0
- package/lib/context/contextPackage.js +191 -0
- package/lib/context/index.d.ts +14 -3
- package/lib/context/index.js +9 -1
- package/lib/context/relevance.d.ts +171 -0
- package/lib/context/relevance.js +250 -0
- package/lib/context/workspaceDiff.d.ts +105 -0
- package/lib/context/workspaceDiff.js +238 -0
- package/lib/context/workspaceService.d.ts +236 -1
- package/lib/context/workspaceService.js +1501 -73
- package/lib/cooperation/collaboration.d.ts +9 -0
- package/lib/cooperation/session.d.ts +4 -4
- package/lib/cooperation/session.js +3 -3
- package/lib/database/adapter/filesystemStore.d.ts +145 -0
- package/lib/database/adapter/filesystemStore.js +321 -0
- package/lib/database/adapter/index.d.ts +2 -0
- package/lib/database/adapter/index.js +2 -0
- package/lib/database/adapter/workspaceSessionStore.d.ts +118 -0
- package/lib/database/adapter/workspaceSessionStore.js +120 -0
- package/lib/database/entity/fileGraph.d.ts +53 -0
- package/lib/database/entity/fileGraph.js +15 -0
- package/lib/database/entity/fileTree.d.ts +76 -0
- package/lib/database/entity/fileTree.js +39 -0
- package/lib/database/entity/hook.d.ts +29 -0
- package/lib/database/entity/hook.js +18 -0
- package/lib/database/entity/index.d.ts +4 -0
- package/lib/database/entity/index.js +4 -0
- package/lib/database/entity/workspaceSession.d.ts +53 -0
- package/lib/database/entity/workspaceSession.js +28 -0
- package/lib/database/repository/fileAnnotationRepository.d.ts +75 -0
- package/lib/database/repository/fileAnnotationRepository.js +109 -0
- package/lib/database/repository/fileGraphRepository.d.ts +188 -0
- package/lib/database/repository/fileGraphRepository.js +648 -0
- package/lib/database/repository/fileNodeRepository.d.ts +116 -0
- package/lib/database/repository/fileNodeRepository.js +263 -0
- package/lib/database/repository/fileOutlineRepository.d.ts +40 -0
- package/lib/database/repository/fileOutlineRepository.js +104 -0
- package/lib/database/repository/fileWriteRepository.d.ts +41 -0
- package/lib/database/repository/fileWriteRepository.js +93 -0
- package/lib/database/repository/hookRepository.d.ts +67 -0
- package/lib/database/repository/hookRepository.js +150 -0
- package/lib/database/repository/index.d.ts +7 -0
- package/lib/database/repository/index.js +7 -0
- package/lib/database/repository/workspaceSessionRepository.d.ts +134 -0
- package/lib/database/repository/workspaceSessionRepository.js +327 -0
- package/lib/database/service/database.d.ts +14 -0
- package/lib/database/service/database.js +21 -0
- package/lib/database/sql/schema.js +187 -0
- package/lib/database/store/database.js +6 -1
- package/lib/delegate/team.d.ts +5 -0
- package/lib/delegate/team.js +83 -20
- package/lib/discover/classify.d.ts +20 -0
- package/lib/discover/classify.js +85 -0
- package/lib/discover/host.d.ts +20 -0
- package/lib/discover/host.js +89 -0
- package/lib/discover/index.d.ts +11 -0
- package/lib/discover/index.js +11 -0
- package/lib/discover/kinds.d.ts +14 -0
- package/lib/discover/kinds.js +23 -0
- package/lib/discover/tree.d.ts +7 -0
- package/lib/discover/tree.js +432 -0
- package/lib/discover/types.d.ts +115 -0
- package/lib/discover/types.js +1 -0
- package/lib/error/boundaryRejection.d.ts +1 -1
- package/lib/evaluation/agreement.js +2 -2
- package/lib/execution/handles.js +6 -0
- package/lib/execution/pin.js +2 -2
- package/lib/file/cfb.d.ts +56 -0
- package/lib/file/cfb.js +396 -0
- package/lib/file/dependency.d.ts +151 -0
- package/lib/file/dependency.js +568 -0
- package/lib/file/directory.d.ts +34 -0
- package/lib/file/directory.js +141 -0
- package/lib/file/errors.d.ts +20 -0
- package/lib/file/errors.js +18 -0
- package/lib/file/exportGraph.d.ts +31 -0
- package/lib/file/exportGraph.js +554 -0
- package/lib/file/file.d.ts +40 -0
- package/lib/file/file.js +339 -0
- package/lib/file/importGraph.d.ts +121 -0
- package/lib/file/importGraph.js +1022 -0
- package/lib/file/index.d.ts +45 -0
- package/lib/file/index.js +30 -0
- package/lib/file/metadata.d.ts +66 -0
- package/lib/file/metadata.js +470 -0
- package/lib/file/path.d.ts +60 -0
- package/lib/file/path.js +259 -0
- package/lib/file/read.d.ts +168 -0
- package/lib/file/read.js +541 -0
- package/lib/file/runtime.d.ts +95 -0
- package/lib/file/runtime.js +150 -0
- package/lib/file/service.d.ts +227 -0
- package/lib/file/service.js +663 -0
- package/lib/file/syntaxTree.d.ts +7 -0
- package/lib/file/syntaxTree.js +38 -0
- package/lib/file/time.d.ts +38 -0
- package/lib/file/time.js +44 -0
- package/lib/file/tree.d.ts +53 -0
- package/lib/file/tree.js +417 -0
- package/lib/file/types.d.ts +371 -0
- package/lib/file/types.js +1 -0
- package/lib/file/write.d.ts +159 -0
- package/lib/file/write.js +1028 -0
- package/lib/file/zip.d.ts +35 -0
- package/lib/file/zip.js +349 -0
- package/lib/fingerprint/algorithm.d.ts +97 -0
- package/lib/fingerprint/algorithm.js +271 -0
- package/lib/fingerprint/bytes.d.ts +18 -0
- package/lib/fingerprint/bytes.js +31 -0
- package/lib/fingerprint/error.d.ts +73 -0
- package/lib/fingerprint/error.js +86 -0
- package/lib/fingerprint/file.d.ts +71 -0
- package/lib/fingerprint/file.js +254 -0
- package/lib/fingerprint/index.d.ts +37 -0
- package/lib/fingerprint/index.js +12 -0
- package/lib/fingerprint/json.d.ts +41 -0
- package/lib/fingerprint/json.js +94 -0
- package/lib/fingerprint/number.d.ts +32 -0
- package/lib/fingerprint/number.js +95 -0
- package/lib/fingerprint/policy.d.ts +54 -0
- package/lib/fingerprint/policy.js +50 -0
- package/lib/fingerprint/preimage.d.ts +84 -0
- package/lib/fingerprint/preimage.js +133 -0
- package/lib/fingerprint/raw.d.ts +26 -0
- package/lib/fingerprint/raw.js +45 -0
- package/lib/fingerprint/ref.d.ts +39 -0
- package/lib/fingerprint/ref.js +178 -0
- package/lib/fingerprint/text.d.ts +42 -0
- package/lib/fingerprint/text.js +155 -0
- package/lib/fingerprint/tree.d.ts +56 -0
- package/lib/fingerprint/tree.js +288 -0
- package/lib/fingerprint/verify.d.ts +20 -0
- package/lib/fingerprint/verify.js +99 -0
- package/lib/global/filesystem.d.ts +43 -0
- package/lib/global/filesystem.js +75 -0
- package/lib/global/index.d.ts +8 -0
- package/lib/global/index.js +8 -0
- package/lib/global/service.d.ts +51 -0
- package/lib/global/service.js +98 -0
- package/lib/governance/transport.js +18 -6
- package/lib/hook/ast.d.ts +29 -0
- package/lib/hook/ast.js +22 -0
- package/lib/hook/code.d.ts +55 -0
- package/lib/hook/code.js +47 -0
- package/lib/hook/dependency.d.ts +45 -0
- package/lib/hook/dependency.js +28 -0
- package/lib/hook/diff.d.ts +114 -0
- package/lib/hook/diff.js +327 -0
- package/lib/hook/exportation.d.ts +31 -0
- package/lib/hook/exportation.js +24 -0
- package/lib/hook/file.d.ts +44 -0
- package/lib/hook/file.js +154 -0
- package/lib/hook/importation.d.ts +33 -0
- package/lib/hook/importation.js +22 -0
- package/lib/hook/index.d.ts +30 -0
- package/lib/hook/index.js +23 -0
- package/lib/hook/outline.d.ts +35 -0
- package/lib/hook/outline.js +27 -0
- package/lib/hook/project.d.ts +65 -0
- package/lib/hook/project.js +217 -0
- package/lib/hook/types.d.ts +114 -0
- package/lib/hook/types.js +407 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.js +9 -0
- package/lib/lock/lease.js +28 -3
- package/lib/manifest/cardSign.d.ts +1 -1
- package/lib/manifest/cardSign.js +37 -7
- package/lib/manifest/federation.js +13 -6
- package/lib/manifest/trust.d.ts +2 -0
- package/lib/manifest/trust.js +27 -6
- package/lib/module/index.d.ts +4 -0
- package/lib/module/index.js +4 -0
- package/lib/module/mcp/client.js +21 -2
- package/lib/module/mcp/filesystemServer.d.ts +24 -0
- package/lib/module/mcp/filesystemServer.js +102 -0
- package/lib/module/mcp/http.js +32 -19
- package/lib/module/mcp/workspaceServer.js +20 -3
- package/lib/module/tool/filesystemExecutor.d.ts +18 -0
- package/lib/module/tool/filesystemExecutor.js +49 -0
- package/lib/module/tool/globalExecutor.d.ts +17 -0
- package/lib/module/tool/globalExecutor.js +39 -0
- package/lib/module/tool/globalFilesystemExecutor.d.ts +18 -0
- package/lib/module/tool/globalFilesystemExecutor.js +49 -0
- package/lib/module/tool/workspaceExecutor.d.ts +9 -0
- package/lib/module/tool/workspaceExecutor.js +16 -3
- package/lib/naming/aliases.d.ts +48 -0
- package/lib/naming/aliases.js +79 -0
- package/lib/naming/catalog.d.ts +117 -0
- package/lib/naming/catalog.js +108 -0
- package/lib/naming/grammar.d.ts +67 -0
- package/lib/naming/grammar.js +212 -0
- package/lib/naming/ids.d.ts +157 -0
- package/lib/naming/ids.js +119 -0
- package/lib/naming/index.d.ts +13 -0
- package/lib/naming/index.js +13 -0
- package/lib/outline/index.d.ts +9 -0
- package/lib/outline/index.js +8 -0
- package/lib/outline/office.d.ts +160 -0
- package/lib/outline/office.js +2375 -0
- package/lib/outline/officeBridge.d.ts +32 -0
- package/lib/outline/officeBridge.js +27 -0
- package/lib/outline/outline.d.ts +159 -0
- package/lib/outline/outline.js +837 -0
- package/lib/outline/outlineIndex.d.ts +97 -0
- package/lib/outline/outlineIndex.js +325 -0
- package/lib/outline/outlineKeywords.d.ts +59 -0
- package/lib/outline/outlineKeywords.js +143 -0
- package/lib/outline/outlineStrategies.d.ts +414 -0
- package/lib/outline/outlineStrategies.js +8324 -0
- package/lib/outline/reactOutline.d.ts +37 -0
- package/lib/outline/reactOutline.js +1070 -0
- package/lib/outline/shellOutline.d.ts +65 -0
- package/lib/outline/shellOutline.js +873 -0
- package/lib/outline/sqlOutline.d.ts +170 -0
- package/lib/outline/sqlOutline.js +1536 -0
- package/lib/outline/strategy.d.ts +46 -0
- package/lib/outline/strategy.js +1 -0
- package/lib/outline/types.d.ts +95 -0
- package/lib/outline/types.js +1 -0
- package/lib/outline/visualBasicOutline.d.ts +27 -0
- package/lib/outline/visualBasicOutline.js +750 -0
- package/lib/protocol/filesystem.d.ts +55 -0
- package/lib/protocol/filesystem.js +105 -0
- package/lib/protocol/global.d.ts +42 -0
- package/lib/protocol/global.js +63 -0
- package/lib/protocol/globalFilesystem.d.ts +40 -0
- package/lib/protocol/globalFilesystem.js +59 -0
- package/lib/protocol/index.d.ts +4 -0
- package/lib/protocol/index.js +4 -0
- package/lib/protocol/protocol.d.ts +4 -0
- package/lib/protocol/wire.js +5 -2
- package/lib/protocol/workspace.d.ts +305 -0
- package/lib/protocol/workspace.js +258 -0
- package/lib/receipt/receipt.d.ts +8 -0
- package/lib/registry/content.js +9 -3
- package/lib/runtime/kernelRuntime.js +9 -1
- package/lib/scenario/scenario.js +5 -4
- package/lib/semantic/canonical.d.ts +61 -0
- package/lib/semantic/canonical.js +135 -8
- package/lib/semantic/jsonValue.d.ts +31 -0
- package/lib/semantic/jsonValue.js +122 -0
- package/lib/semantic/sha256.js +3 -0
- package/lib/semantic/time.d.ts +14 -0
- package/lib/semantic/time.js +56 -0
- package/lib/session/context.d.ts +76 -0
- package/lib/session/context.js +419 -0
- package/lib/session/errors.d.ts +24 -0
- package/lib/session/errors.js +22 -0
- package/lib/session/identity.d.ts +24 -0
- package/lib/session/identity.js +56 -0
- package/lib/session/index.d.ts +14 -0
- package/lib/session/index.js +12 -0
- package/lib/session/registry.d.ts +130 -0
- package/lib/session/registry.js +908 -0
- package/lib/session/types.d.ts +227 -0
- package/lib/session/types.js +14 -0
- package/lib/structure/index.d.ts +1 -0
- package/lib/structure/index.js +1 -0
- package/lib/structure/trie.d.ts +88 -0
- package/lib/structure/trie.js +183 -0
- package/lib/syntax/byteIndex.d.ts +44 -0
- package/lib/syntax/byteIndex.js +148 -0
- package/lib/syntax/charset.d.ts +88 -0
- package/lib/syntax/charset.js +276 -0
- package/lib/syntax/index.d.ts +6 -0
- package/lib/syntax/index.js +5 -0
- package/lib/syntax/syntaxRegistry.d.ts +150 -0
- package/lib/syntax/syntaxRegistry.js +314 -0
- package/lib/syntax/syntaxTree.d.ts +106 -0
- package/lib/syntax/syntaxTree.js +668 -0
- package/lib/syntax/types.d.ts +15 -0
- package/lib/syntax/types.js +1 -0
- package/lib/types/common.d.ts +1 -1
- package/package.json +72 -193
- package/.editorconfig +0 -12
- package/.prettierignore +0 -17
- package/MCP-Token/347/250/216/344/270/216/344/270/213/344/270/200/344/273/243/345/267/245/345/205/267/345/215/217/350/256/256.html +0 -1763
- package/docs/annotation-campaign-A.csv +0 -54
- package/docs/annotation-campaign-B.csv +0 -54
- package/docs/annotation-campaign.csv +0 -54
- package/docs/eval/annotations-A.jsonl +0 -16
- package/docs/eval/annotations.json +0 -122
- package/docs/eval/recorded-labels.json +0 -12
- package/docs/eval/replay-cases.json +0 -14
- package/docs/eval/replay-labels-b.json +0 -14
- package/docs/examples/attention-request.json +0 -16
- package/docs/examples/checkpoint.json +0 -15
- package/docs/examples/claim.json +0 -66
- package/docs/examples/collaboration.json +0 -66
- package/docs/examples/concept-checkpoint.json +0 -15
- package/docs/examples/concept-prune-plan.json +0 -45
- package/docs/examples/federation.json +0 -126
- package/docs/examples/frame-chain.json +0 -77
- package/docs/examples/ledger-snapshot.json +0 -108
- package/docs/examples/manifest.json +0 -77
- package/docs/examples/message.json +0 -19
- package/docs/examples/other-model.json +0 -45
- package/docs/examples/plan.json +0 -50
- package/docs/examples/prune-plan.json +0 -48
- package/docs/examples/receipt.json +0 -22
- package/docs/examples/runtime-run.json +0 -573
- package/docs/examples/team.json +0 -66
- package/docs/examples/verb-note.json +0 -11
- package/docs/probes/bayes-scores.json +0 -1452
- package/docs/probes/calibration-imported.json +0 -141
- package/docs/probes/context-ast-deepseek.json +0 -1577
- package/docs/probes/deepseek-probe.json +0 -917
- package/docs/probes/eval-recorded-replay.json +0 -597
- package/docs/probes/eval-replay.json +0 -124
- package/docs/probes/eval-summary.json +0 -42
- package/docs/probes/runtime-eval.json +0 -4230
- package/eslint.config.mts +0 -96
- package/index.html +0 -13
- package/prettier.config.mts +0 -37
- package/public/favicon.svg +0 -1
- package/public/icons.svg +0 -24
- package/src/attention/attention.ts +0 -347
- package/src/attention/budget.ts +0 -72
- package/src/attention/cognition.ts +0 -519
- package/src/attention/index.ts +0 -8
- package/src/attention/interrupts.ts +0 -228
- package/src/attention/resource.ts +0 -316
- package/src/attention/social.ts +0 -217
- package/src/attention/socialTypes.ts +0 -115
- package/src/authz/authz.ts +0 -305
- package/src/authz/index.ts +0 -1
- package/src/bayes/calibration.ts +0 -204
- package/src/bayes/calibrationRegistry.ts +0 -111
- package/src/bayes/calibrationSelection.ts +0 -154
- package/src/bayes/engine.ts +0 -532
- package/src/bayes/index.ts +0 -6
- package/src/bayes/reliability.ts +0 -62
- package/src/bayes/scopedPriors.ts +0 -88
- package/src/boundary/frame.ts +0 -322
- package/src/boundary/ids.ts +0 -14
- package/src/boundary/index.ts +0 -12
- package/src/boundary/refTable.ts +0 -125
- package/src/boundary/toolCall.ts +0 -212
- package/src/concept/concept.ts +0 -75
- package/src/concept/conceptBudget.ts +0 -346
- package/src/concept/conceptBudgetTypes.ts +0 -79
- package/src/concept/index.ts +0 -3
- package/src/concurrency/idempotency.ts +0 -41
- package/src/concurrency/index.ts +0 -5
- package/src/concurrency/mutex.ts +0 -26
- package/src/concurrency/namedLocks.ts +0 -35
- package/src/concurrency/retry.ts +0 -50
- package/src/concurrency/worker.ts +0 -128
- package/src/context/agentContext.ts +0 -308
- package/src/context/ast.ts +0 -499
- package/src/context/contentStore.ts +0 -75
- package/src/context/context.ts +0 -65
- package/src/context/contextIndex.ts +0 -85
- package/src/context/document.ts +0 -137
- package/src/context/fileStorePath.ts +0 -14
- package/src/context/index.ts +0 -43
- package/src/context/lifecycle.ts +0 -221
- package/src/context/projections.ts +0 -151
- package/src/context/workspace.ts +0 -422
- package/src/context/workspaceProtocol.ts +0 -112
- package/src/context/workspaceService.ts +0 -423
- package/src/cooperation/board.ts +0 -104
- package/src/cooperation/collaboration.ts +0 -60
- package/src/cooperation/index.ts +0 -6
- package/src/cooperation/merge.ts +0 -190
- package/src/cooperation/metrics.ts +0 -57
- package/src/cooperation/session.ts +0 -131
- package/src/cooperation/unified.ts +0 -56
- package/src/counter.ts +0 -9
- package/src/database/adapter/adapters.ts +0 -35
- package/src/database/adapter/index.ts +0 -4
- package/src/database/adapter/runtimeSink.ts +0 -74
- package/src/database/adapter/sessionStore.ts +0 -32
- package/src/database/adapter/turnStore.ts +0 -23
- package/src/database/entity/agent.ts +0 -199
- package/src/database/entity/entity.ts +0 -1046
- package/src/database/entity/handle.ts +0 -79
- package/src/database/entity/index.ts +0 -32
- package/src/database/entity/message.ts +0 -74
- package/src/database/entity/meta.ts +0 -11
- package/src/database/entity/object.ts +0 -42
- package/src/database/entity/outbox.ts +0 -15
- package/src/database/entity/process.ts +0 -65
- package/src/database/entity/registry.ts +0 -155
- package/src/database/entity/runtimeApproval.ts +0 -30
- package/src/database/entity/runtimeSession.ts +0 -13
- package/src/database/entity/runtimeTurn.ts +0 -15
- package/src/database/entity/thread.ts +0 -85
- package/src/database/entity/window.ts +0 -85
- package/src/database/entity/worker.ts +0 -90
- package/src/database/index.ts +0 -6
- package/src/database/repository/addressSpaceRepository.ts +0 -72
- package/src/database/repository/agentRepository.ts +0 -460
- package/src/database/repository/base.ts +0 -41
- package/src/database/repository/executionRepository.ts +0 -477
- package/src/database/repository/handleRepository.ts +0 -64
- package/src/database/repository/index.ts +0 -20
- package/src/database/repository/messageRepository.ts +0 -52
- package/src/database/repository/objectRepository.ts +0 -69
- package/src/database/repository/outboxRepository.ts +0 -63
- package/src/database/repository/processRepository.ts +0 -58
- package/src/database/repository/registryRepository.ts +0 -119
- package/src/database/repository/repository.ts +0 -491
- package/src/database/repository/runtimeApprovalRepository.ts +0 -44
- package/src/database/repository/runtimeSessionRepository.ts +0 -27
- package/src/database/repository/runtimeTurnRepository.ts +0 -39
- package/src/database/repository/socialRepository.ts +0 -185
- package/src/database/repository/threadRepository.ts +0 -57
- package/src/database/repository/windowRepository.ts +0 -88
- package/src/database/repository/workerRepository.ts +0 -69
- package/src/database/service/database.ts +0 -90
- package/src/database/service/handleService.ts +0 -48
- package/src/database/service/index.ts +0 -16
- package/src/database/service/messageService.ts +0 -61
- package/src/database/service/objectService.ts +0 -59
- package/src/database/service/processService.ts +0 -61
- package/src/database/service/registryServices.ts +0 -88
- package/src/database/service/service.ts +0 -183
- package/src/database/service/stepService.ts +0 -53
- package/src/database/service/threadService.ts +0 -65
- package/src/database/service/windowService.ts +0 -30
- package/src/database/service/workerService.ts +0 -57
- package/src/database/sql/index.ts +0 -3
- package/src/database/sql/schema.ts +0 -418
- package/src/database/sql/sql.ts +0 -543
- package/src/database/store/database.ts +0 -210
- package/src/database/store/index.ts +0 -3
- package/src/database/store/store.ts +0 -266
- package/src/delegate/index.ts +0 -2
- package/src/delegate/team.ts +0 -268
- package/src/delegate/teamTypes.ts +0 -47
- package/src/diagnosis/checklist.ts +0 -74
- package/src/diagnosis/context.ts +0 -93
- package/src/diagnosis/frame.ts +0 -256
- package/src/diagnosis/index.ts +0 -5
- package/src/diagnosis/router.ts +0 -72
- package/src/diagnosis/types.ts +0 -89
- package/src/error/agentError.ts +0 -16
- package/src/error/ampError.ts +0 -20
- package/src/error/authzError.ts +0 -14
- package/src/error/boundaryRejection.ts +0 -20
- package/src/error/index.ts +0 -7
- package/src/error/kernelError.ts +0 -27
- package/src/error/mailboxError.ts +0 -9
- package/src/error/windowError.ts +0 -12
- package/src/evaluation/agreement.ts +0 -96
- package/src/evaluation/index.ts +0 -2
- package/src/evaluation/labels.ts +0 -241
- package/src/evidence/evidenceGraph.ts +0 -205
- package/src/evidence/index.ts +0 -4
- package/src/evidence/revalidation.ts +0 -191
- package/src/execution/exec.ts +0 -408
- package/src/execution/handles.ts +0 -65
- package/src/execution/index.ts +0 -3
- package/src/execution/pin.ts +0 -154
- package/src/frame/frame.ts +0 -70
- package/src/frame/index.ts +0 -1
- package/src/goal/goal.ts +0 -43
- package/src/goal/index.ts +0 -2
- package/src/goal/plan.ts +0 -196
- package/src/governance/attentionManifest.ts +0 -802
- package/src/governance/audit.ts +0 -362
- package/src/governance/budget.ts +0 -628
- package/src/governance/context.ts +0 -356
- package/src/governance/control.ts +0 -159
- package/src/governance/cooperation.ts +0 -479
- package/src/governance/credential.ts +0 -359
- package/src/governance/httpServer.ts +0 -99
- package/src/governance/index.ts +0 -32
- package/src/governance/legal.ts +0 -574
- package/src/governance/matrix.ts +0 -460
- package/src/governance/perspectives.ts +0 -406
- package/src/governance/signing.ts +0 -407
- package/src/governance/store.ts +0 -125
- package/src/governance/switching.ts +0 -459
- package/src/governance/toolPolicy.ts +0 -80
- package/src/governance/transport.ts +0 -204
- package/src/governance/types.ts +0 -380
- package/src/governance/workflow.ts +0 -743
- package/src/index.ts +0 -11
- package/src/interaction/index.ts +0 -1
- package/src/interaction/interaction.ts +0 -391
- package/src/ipc/index.ts +0 -4
- package/src/ipc/mailbox.ts +0 -132
- package/src/ipc/memorySocialStore.ts +0 -93
- package/src/ipc/social.ts +0 -93
- package/src/kernel/index.ts +0 -14
- package/src/kernel/scheduler.ts +0 -498
- package/src/ledger/checkpoint.ts +0 -304
- package/src/ledger/index.ts +0 -4
- package/src/ledger/ledger.ts +0 -31
- package/src/ledger/persistence.ts +0 -159
- package/src/ledger/share.ts +0 -80
- package/src/lock/index.ts +0 -2
- package/src/lock/lease.ts +0 -74
- package/src/main.ts +0 -199
- package/src/manifest/agentCard.ts +0 -72
- package/src/manifest/cardSign.ts +0 -87
- package/src/manifest/federation.ts +0 -237
- package/src/manifest/federationTypes.ts +0 -55
- package/src/manifest/index.ts +0 -8
- package/src/manifest/keys.ts +0 -643
- package/src/manifest/manifest.ts +0 -114
- package/src/manifest/sign.ts +0 -134
- package/src/manifest/trust.ts +0 -146
- package/src/mission/index.ts +0 -2
- package/src/mission/missionQueue.ts +0 -75
- package/src/module/index.ts +0 -9
- package/src/module/llm/deepseek.ts +0 -214
- package/src/module/llm/llm.ts +0 -84
- package/src/module/mcp/client.ts +0 -110
- package/src/module/mcp/http.ts +0 -102
- package/src/module/mcp/protocol.ts +0 -77
- package/src/module/mcp/server.ts +0 -148
- package/src/module/mcp/transport.ts +0 -30
- package/src/module/mcp/workspaceServer.ts +0 -111
- package/src/module/sandbox/sandbox.ts +0 -29
- package/src/module/tool/mcpExecutor.ts +0 -54
- package/src/module/tool/policy.ts +0 -52
- package/src/module/tool/redact.ts +0 -29
- package/src/module/tool/tool.ts +0 -53
- package/src/module/tool/workspaceExecutor.ts +0 -35
- package/src/policy/guard.ts +0 -240
- package/src/policy/index.ts +0 -2
- package/src/policy/policy.ts +0 -561
- package/src/process/agent.ts +0 -341
- package/src/process/agentService.ts +0 -236
- package/src/process/agentStore.ts +0 -378
- package/src/process/executionStore.ts +0 -151
- package/src/process/index.ts +0 -5
- package/src/process/process.ts +0 -240
- package/src/process/transitions.ts +0 -19
- package/src/progress/index.ts +0 -2
- package/src/progress/progress.ts +0 -85
- package/src/protocol/a2a.ts +0 -120
- package/src/protocol/channel.ts +0 -44
- package/src/protocol/envelope.ts +0 -655
- package/src/protocol/httpChannel.ts +0 -87
- package/src/protocol/index.ts +0 -6
- package/src/protocol/protocol.ts +0 -138
- package/src/protocol/wire.ts +0 -60
- package/src/receipt/index.ts +0 -1
- package/src/receipt/receipt.ts +0 -47
- package/src/registry/content.ts +0 -69
- package/src/registry/index.ts +0 -23
- package/src/registry/registry.ts +0 -599
- package/src/runtime/action.ts +0 -87
- package/src/runtime/behavior.ts +0 -330
- package/src/runtime/behaviorTuning.ts +0 -163
- package/src/runtime/cognitiveRuntime.ts +0 -703
- package/src/runtime/escalation.ts +0 -35
- package/src/runtime/governedTask.ts +0 -233
- package/src/runtime/index.ts +0 -15
- package/src/runtime/kernelRuntime.ts +0 -144
- package/src/runtime/operation.ts +0 -35
- package/src/runtime/replay.ts +0 -71
- package/src/runtime/routing.ts +0 -58
- package/src/runtime/safety.ts +0 -48
- package/src/runtime/session.ts +0 -341
- package/src/runtime/sessionStore.ts +0 -43
- package/src/runtime/telemetry.ts +0 -55
- package/src/runtime/turnStore.ts +0 -30
- package/src/scenario/index.ts +0 -1
- package/src/scenario/scenario.ts +0 -299
- package/src/semantic/canonical.ts +0 -24
- package/src/semantic/index.ts +0 -2
- package/src/semantic/sha256.ts +0 -82
- package/src/storage/appendLog.ts +0 -372
- package/src/storage/fileAppendSink.ts +0 -40
- package/src/storage/index.ts +0 -2
- package/src/store/bindCache.ts +0 -22
- package/src/store/cache.ts +0 -191
- package/src/store/context.ts +0 -31
- package/src/store/handleStore.ts +0 -31
- package/src/store/index.ts +0 -9
- package/src/store/messageStore.ts +0 -31
- package/src/store/objectStore.ts +0 -31
- package/src/store/processStore.ts +0 -31
- package/src/store/threadStore.ts +0 -31
- package/src/store/windowStore.ts +0 -31
- package/src/structure/abstractSyntaxTree.ts +0 -493
- package/src/structure/avlTree.ts +0 -408
- package/src/structure/binarySearchTree.ts +0 -352
- package/src/structure/binaryTree.ts +0 -525
- package/src/structure/bloomFilter.ts +0 -231
- package/src/structure/compare.ts +0 -110
- package/src/structure/cuckooFilter.ts +0 -337
- package/src/structure/deque.ts +0 -223
- package/src/structure/filterKey.ts +0 -36
- package/src/structure/hash.ts +0 -279
- package/src/structure/heap.ts +0 -268
- package/src/structure/index.ts +0 -20
- package/src/structure/iterator.ts +0 -22
- package/src/structure/lru.ts +0 -619
- package/src/structure/ordered.ts +0 -399
- package/src/structure/priority.ts +0 -915
- package/src/structure/queue.ts +0 -168
- package/src/structure/redBlackTree.ts +0 -680
- package/src/structure/segmentTree.ts +0 -248
- package/src/structure/stack.ts +0 -118
- package/src/structure/unordered.ts +0 -407
- package/src/style.css +0 -278
- package/src/thread/index.ts +0 -2
- package/src/thread/thread.ts +0 -176
- package/src/thread/transitions.ts +0 -17
- package/src/types/common.ts +0 -119
- package/src/types/index.ts +0 -23
- package/src/warrant/epistemic.ts +0 -154
- package/src/warrant/index.ts +0 -3
- package/src/warrant/inquiry.ts +0 -166
- package/src/warrant/warrant.ts +0 -179
- package/src/window/compaction.ts +0 -403
- package/src/window/compactionTypes.ts +0 -119
- package/src/window/index.ts +0 -7
- package/src/window/page.ts +0 -18
- package/src/window/window.ts +0 -244
- package/tools/_helpers.ts +0 -34
- package/tools/a2a-check.ts +0 -110
- package/tools/a2a-flow-check.ts +0 -78
- package/tools/agent-card-check.ts +0 -76
- package/tools/agent-check.ts +0 -236
- package/tools/agent-store-check.ts +0 -153
- package/tools/agreement-check.ts +0 -27
- package/tools/annotation-server-check.ts +0 -48
- package/tools/annotation-server.ts +0 -230
- package/tools/annotation-status.ts +0 -65
- package/tools/approval-access-check.ts +0 -66
- package/tools/arch-check.ts +0 -72
- package/tools/attention-core-check.ts +0 -48
- package/tools/attention-resource-check.ts +0 -169
- package/tools/audit-check.ts +0 -207
- package/tools/authority-check.ts +0 -124
- package/tools/authz-check.ts +0 -138
- package/tools/bayes-check.ts +0 -162
- package/tools/bayes-probe.ts +0 -154
- package/tools/behavior-tuning-check.ts +0 -53
- package/tools/board-check.ts +0 -87
- package/tools/boundary-check.ts +0 -199
- package/tools/bundle-trust-check.ts +0 -96
- package/tools/calibrate-imported.ts +0 -108
- package/tools/calibration-check.ts +0 -44
- package/tools/calibration-registry-check.ts +0 -40
- package/tools/calibration-sim.ts +0 -40
- package/tools/card-sign-check.ts +0 -71
- package/tools/card-trust-check.ts +0 -78
- package/tools/channel-check.ts +0 -86
- package/tools/checkpoint-check.ts +0 -620
- package/tools/cleanup-style-configs.ts +0 -29
- package/tools/cognition-check.ts +0 -648
- package/tools/cognitive-runtime-check.ts +0 -609
- package/tools/collaboration-demo.ts +0 -78
- package/tools/compaction-check.ts +0 -266
- package/tools/concept-check.ts +0 -260
- package/tools/concurrency-check.ts +0 -242
- package/tools/conformance-runtime.ts +0 -389
- package/tools/conformance.ts +0 -651
- package/tools/context-ast-check.ts +0 -90
- package/tools/context-ast-deepseek.ts +0 -242
- package/tools/context-graph-bench.ts +0 -50
- package/tools/context-graph-check.ts +0 -229
- package/tools/context-index-check.ts +0 -48
- package/tools/context-lifecycle-check.ts +0 -69
- package/tools/context-projection-check.ts +0 -73
- package/tools/context-scope-check.ts +0 -134
- package/tools/context-storage-check.ts +0 -113
- package/tools/cooperation-check.ts +0 -517
- package/tools/cooperation-http-check.ts +0 -125
- package/tools/deepseek-llm-check.ts +0 -147
- package/tools/deepseek-probe.ts +0 -494
- package/tools/diagnosis-check.ts +0 -109
- package/tools/diagnosis-router-check.ts +0 -50
- package/tools/document-context-check.ts +0 -237
- package/tools/envelope-check.ts +0 -659
- package/tools/eslint-rules/index.ts +0 -26
- package/tools/eslint-rules/rules/jsdoc-comment-format.ts +0 -105
- package/tools/eslint-rules/rules/no-function-keyword.ts +0 -60
- package/tools/eslint-rules/rules/no-multiline-parameters.ts +0 -71
- package/tools/eslint-rules/rules/no-multiline-type-parameters.ts +0 -57
- package/tools/eslint-rules/rules/no-undefined-comparison.ts +0 -115
- package/tools/eslint-rules/rules/prefer-template-for-string-conversion.ts +0 -97
- package/tools/eslint-rules/rules/require-typeof-parentheses.ts +0 -49
- package/tools/eslint-rules/rules/require-variable-type.ts +0 -36
- package/tools/eslint-rules/rules/variable-naming.ts +0 -175
- package/tools/eval-recorded-replay.ts +0 -215
- package/tools/eval-replay.ts +0 -139
- package/tools/eval-summary.ts +0 -136
- package/tools/evidence-revalidation-check.ts +0 -235
- package/tools/exec-check.ts +0 -217
- package/tools/federation-check.ts +0 -166
- package/tools/federation-demo.ts +0 -45
- package/tools/filter-check.ts +0 -243
- package/tools/governance-check.ts +0 -680
- package/tools/governance-store-check.ts +0 -131
- package/tools/governed-task-check.ts +0 -227
- package/tools/guard-check.ts +0 -122
- package/tools/http-channel-check.ts +0 -125
- package/tools/import-campaign.ts +0 -28
- package/tools/inquiry-check.ts +0 -126
- package/tools/interaction-check.ts +0 -171
- package/tools/interrupts-check.ts +0 -173
- package/tools/ipc-check.ts +0 -170
- package/tools/kernel-async-check.ts +0 -136
- package/tools/kernel-check.ts +0 -369
- package/tools/kernel-runtime-check.ts +0 -276
- package/tools/keys-check.ts +0 -559
- package/tools/label-audit.ts +0 -70
- package/tools/labels-workflow-check.ts +0 -49
- package/tools/linear-structure-check.ts +0 -524
- package/tools/live-exec.ts +0 -62
- package/tools/live-governance-eval.ts +0 -813
- package/tools/live-legacy.ts +0 -50
- package/tools/lru-check.ts +0 -182
- package/tools/make-annotation-campaign.ts +0 -57
- package/tools/mcp-executor-check.ts +0 -33
- package/tools/merge-annotations.ts +0 -32
- package/tools/merge-check.ts +0 -98
- package/tools/metrics-check.ts +0 -84
- package/tools/net-probe.ts +0 -107
- package/tools/oauth-probe.ts +0 -117
- package/tools/outbox-check.ts +0 -50
- package/tools/persistence-check.ts +0 -144
- package/tools/pin-check.ts +0 -116
- package/tools/platform-check.ts +0 -281
- package/tools/policy-check.ts +0 -514
- package/tools/prettier-plugin/index.mts +0 -84
- package/tools/priority-check.ts +0 -627
- package/tools/probe-context7.ts +0 -63
- package/tools/registry-check.ts +0 -252
- package/tools/reliability-check.ts +0 -25
- package/tools/retry-check.ts +0 -85
- package/tools/rewrite-declaration-extensions.ts +0 -98
- package/tools/runtime-check.ts +0 -165
- package/tools/runtime-deepseek-check.ts +0 -85
- package/tools/runtime-eval.ts +0 -358
- package/tools/scenario-check.ts +0 -161
- package/tools/scenario-incident.ts +0 -162
- package/tools/scoped-priors-check.ts +0 -35
- package/tools/scoped-priors-pooling.ts +0 -34
- package/tools/segment-ast-check.ts +0 -649
- package/tools/session-check.ts +0 -196
- package/tools/session-store-check.ts +0 -73
- package/tools/share-check.ts +0 -88
- package/tools/sign-check.ts +0 -95
- package/tools/signing-check.ts +0 -275
- package/tools/snapshot-demo.ts +0 -65
- package/tools/social-check.ts +0 -146
- package/tools/structure-compare-check.ts +0 -95
- package/tools/support/documentScanner.ts +0 -577
- package/tools/support/texScanner.ts +0 -631
- package/tools/support/workspaceScanner.ts +0 -476
- package/tools/team-check.ts +0 -163
- package/tools/team-demo.ts +0 -36
- package/tools/telemetry-check.ts +0 -44
- package/tools/tex-context-check.ts +0 -263
- package/tools/tool-gate-check.ts +0 -98
- package/tools/tree-structure-check.ts +0 -786
- package/tools/trust-flow-check.ts +0 -158
- package/tools/turn-store-check.ts +0 -57
- package/tools/unified-check.ts +0 -83
- package/tools/validate.ts +0 -309
- package/tools/wire-check.ts +0 -96
- package/tools/workspace-agent-check.ts +0 -486
- package/tools/workspace-agent-demo.ts +0 -62
- package/tools/workspace-agent-server.ts +0 -101
- package/tools/workspace-context-check.ts +0 -331
- package/tools/workspace-context.ts +0 -131
- package/tsconfig.build.json +0 -14
- package/tsconfig.json +0 -24
- package/tsconfig.tools.json +0 -31
- package/viz/context-ast.json +0 -1577
|
@@ -1,519 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AMP — cognitive state model (proposal).
|
|
3
|
-
*
|
|
4
|
-
* The premise: an agent and a person face the same *control* problem — a
|
|
5
|
-
* resource-bounded decider must allocate finite cognition, monitor itself, and
|
|
6
|
-
* be observed by others. Psychology is the accumulated science of that problem,
|
|
7
|
-
* so its constraints transfer even though its phenomenology does not. This
|
|
8
|
-
* module therefore models the agent as a bounded agent, not as a mind.
|
|
9
|
-
*
|
|
10
|
-
* What is borrowed from psychology is *form*, never a magic number: every
|
|
11
|
-
* constant below is a named parameter with a citation and a stated status
|
|
12
|
-
* (`measured` on humans, or `convention`), and nothing here claims the agent
|
|
13
|
-
* has the corresponding experience.
|
|
14
|
-
*
|
|
15
|
-
* Five state variables, each estimable from the ledger alone:
|
|
16
|
-
*
|
|
17
|
-
* | state | psychological construct | what it changes |
|
|
18
|
-
* | --- | --- | --- |
|
|
19
|
-
* | `load` | working-memory occupancy + open loops | effective capacity; whether novelty may fill space |
|
|
20
|
-
* | `vigilance` | time-on-task alertness | probability of a *missed re-check*, not "energy" |
|
|
21
|
-
* | `arousal` | error pressure / urgency | breadth: it narrows what counts as on-goal |
|
|
22
|
-
* | `mastery` | self-efficacy, long-run | whether to act, ask, or delegate |
|
|
23
|
-
* | `accountability` | identifiability to an audience | effort and how many alternatives are required |
|
|
24
|
-
*
|
|
25
|
-
* The laws in `CognitiveLaws` are deliberately few, monotone and falsifiable.
|
|
26
|
-
* A state variable with no measurable signature is not modelled here at all —
|
|
27
|
-
* which is why there is no `mood`, no `fatigue`, and no `intuition`.
|
|
28
|
-
*/
|
|
29
|
-
import type { Frame, Ignored, Slot } from "../frame/frame.ts";
|
|
30
|
-
import type { Receipt } from "../receipt/receipt.ts";
|
|
31
|
-
import type { Confidence, Ref, Tier } from "../types/common.ts";
|
|
32
|
-
|
|
33
|
-
const clamp01: (value: number) => number = (value: number): number => (value < 0 ? 0 : value > 1 ? 1 : value);
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Rounds to three decimals, so receipts and snapshots stay byte-stable.
|
|
37
|
-
*/
|
|
38
|
-
const round3: (value: number) => number = (value: number): number => Math.round(value * 1000) / 1000;
|
|
39
|
-
|
|
40
|
-
type LawParameter = {
|
|
41
|
-
readonly value: number;
|
|
42
|
-
readonly status: "measured" | "convention";
|
|
43
|
-
readonly source: string;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
type CognitiveLawSet = {
|
|
47
|
-
readonly lossAsymmetry: LawParameter;
|
|
48
|
-
readonly vigilanceTau: LawParameter;
|
|
49
|
-
readonly iorTau: LawParameter;
|
|
50
|
-
readonly baseCapacity: LawParameter;
|
|
51
|
-
readonly loadPenalty: LawParameter;
|
|
52
|
-
readonly noveltyLoadFloor: LawParameter;
|
|
53
|
-
readonly arousalNarrowing: LawParameter;
|
|
54
|
-
readonly metaCharge: LawParameter;
|
|
55
|
-
readonly valueLearning: LawParameter;
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
type SlotWithOptionalChunkWeight = Slot & {
|
|
59
|
-
chunk_weight?: number;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
type SlotWithChunkWeight = Slot & {
|
|
63
|
-
chunk_weight: number;
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Named law parameters. Every entry states whether the value is measured on
|
|
68
|
-
* humans or a convention of this implementation, because a protocol may cite a
|
|
69
|
-
* direction it cannot cite a magnitude for.
|
|
70
|
-
*/
|
|
71
|
-
export const CognitiveLaws: CognitiveLawSet = {
|
|
72
|
-
/**
|
|
73
|
-
* Prospect theory's loss-asymmetry median estimate (Kahneman & Tversky 1992).
|
|
74
|
-
*/
|
|
75
|
-
lossAsymmetry: { value: 2.25, status: "measured", source: "λ ≈ 2.25, median across studies" },
|
|
76
|
-
/**
|
|
77
|
-
* Vigilance half-life in *cycles*, not minutes: a convention pending measurement.
|
|
78
|
-
*/
|
|
79
|
-
vigilanceTau: { value: 12, status: "convention", source: "calibrate per model from receipts" },
|
|
80
|
-
/**
|
|
81
|
-
* Inhibition-of-return kernel: distinct from novelty decay.
|
|
82
|
-
*/
|
|
83
|
-
iorTau: { value: 3, status: "convention", source: "seconds-scale effect mapped onto cycles" },
|
|
84
|
-
/**
|
|
85
|
-
* Base chunk capacity before load is applied (Cowan 2001: ~4 unrehearsed).
|
|
86
|
-
*/
|
|
87
|
-
baseCapacity: { value: 4, status: "measured", source: "Cowan 2001, BBS 24(1):87–114" },
|
|
88
|
-
/**
|
|
89
|
-
* Load may consume at most half of capacity.
|
|
90
|
-
*/
|
|
91
|
-
loadPenalty: { value: 0.5, status: "convention", source: "monotone, bounded" },
|
|
92
|
-
/**
|
|
93
|
-
* Below this load, spare capacity must not be filled with novelty (Lavie).
|
|
94
|
-
*/
|
|
95
|
-
noveltyLoadFloor: { value: 0.3, status: "convention", source: "Lavie 2005, TiCS 9(2):75–82" },
|
|
96
|
-
/**
|
|
97
|
-
* Arousal narrows breadth by raising the goal-fit exponent (Easterbrook 1959).
|
|
98
|
-
*/
|
|
99
|
-
arousalNarrowing: { value: 0.5, status: "convention", source: "Easterbrook 1959, Psych Review 66:183–201" },
|
|
100
|
-
/**
|
|
101
|
-
* Screening overhead charged per candidate scored.
|
|
102
|
-
*/
|
|
103
|
-
metaCharge: { value: 0.1, status: "convention", source: "Russell & Wefald 1991" },
|
|
104
|
-
/**
|
|
105
|
-
* How strongly a class's realised value moves its future priority.
|
|
106
|
-
*/
|
|
107
|
-
valueLearning: { value: 2, status: "convention", source: "Anderson, Laurent & Yantis 2011, PNAS 108(25); calibrate per host" },
|
|
108
|
-
} as const;
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* History of one target, derived from prior frames and receipts. Never stored as a weight.
|
|
112
|
-
*/
|
|
113
|
-
export interface CandidateHistory {
|
|
114
|
-
/**
|
|
115
|
-
* Mean of `realized_voi` over past selections; 0.5 only when no sample exists.
|
|
116
|
-
*/
|
|
117
|
-
realized?: number;
|
|
118
|
-
/**
|
|
119
|
-
* Cycles since this target last occupied a slot.
|
|
120
|
-
*/
|
|
121
|
-
lastSelectedAge?: number;
|
|
122
|
-
/**
|
|
123
|
-
* Cycles since this target was last explicitly excluded.
|
|
124
|
-
*/
|
|
125
|
-
lastIgnoredAge?: number;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* A candidate plus the fields the cognitive law needs, all supplied by the host.
|
|
130
|
-
*/
|
|
131
|
-
export interface CognitiveCandidate {
|
|
132
|
-
target: Ref;
|
|
133
|
-
role: Slot["role"];
|
|
134
|
-
tier?: Tier;
|
|
135
|
-
voi: Confidence;
|
|
136
|
-
goalFit: Confidence;
|
|
137
|
-
uncertainty: Confidence;
|
|
138
|
-
novelty: Confidence;
|
|
139
|
-
costTokens: number;
|
|
140
|
-
risk: Confidence;
|
|
141
|
-
/**
|
|
142
|
-
* Trust cap: external content cannot buy salience, only lose it (A-4).
|
|
143
|
-
*/
|
|
144
|
-
trustCap: Confidence;
|
|
145
|
-
why: string;
|
|
146
|
-
/**
|
|
147
|
-
* Additive floor that the multiplicative score cannot cancel (proposed A-10).
|
|
148
|
-
*/
|
|
149
|
-
hardFloor?: Confidence;
|
|
150
|
-
/**
|
|
151
|
-
* Chunks the target occupies; two unrelated sub-goals cost two (proposed A-7).
|
|
152
|
-
*/
|
|
153
|
-
chunkWeight?: number;
|
|
154
|
-
/**
|
|
155
|
-
* Deterministic difference from the previous focus, in tokens (proposed A-12).
|
|
156
|
-
*/
|
|
157
|
-
switchCostTokens?: number;
|
|
158
|
-
history?: CandidateHistory;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Ignore reasons this law can emit. The five beyond `IgnoredReason` require a
|
|
163
|
-
* schema addition; keeping them in a wider local union means this module stays
|
|
164
|
-
* additive and changes no existing contract.
|
|
165
|
-
*/
|
|
166
|
-
export type CognitiveIgnoreReason = Ignored["reason"] | "inhibited" | "low_sensitivity" | "conservative_criterion" | "capacity" | "exhausted";
|
|
167
|
-
|
|
168
|
-
export interface CognitiveIgnored {
|
|
169
|
-
target: Ref;
|
|
170
|
-
reason: CognitiveIgnoreReason;
|
|
171
|
-
revisit_if: string;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* The five state variables plus everything derived from them.
|
|
176
|
-
*/
|
|
177
|
-
export interface CognitiveState {
|
|
178
|
-
load: Confidence;
|
|
179
|
-
vigilance: Confidence;
|
|
180
|
-
arousal: Confidence;
|
|
181
|
-
mastery: Confidence;
|
|
182
|
-
accountability: Confidence;
|
|
183
|
-
/**
|
|
184
|
-
* Cycles since the last `rest` frame; drives `vigilance`.
|
|
185
|
-
*/
|
|
186
|
-
cyclesSinceRest: number;
|
|
187
|
-
/**
|
|
188
|
-
* `baseCapacity` after the load penalty. Capacity here is in chunks.
|
|
189
|
-
*/
|
|
190
|
-
capacityEff: number;
|
|
191
|
-
/**
|
|
192
|
-
* Probability that a fired `revisit_if` goes unchecked. This is what rest repairs.
|
|
193
|
-
*/
|
|
194
|
-
pLapse: Confidence;
|
|
195
|
-
/**
|
|
196
|
-
* Role that dominated the previous frame; switch cost is charged against it.
|
|
197
|
-
*/
|
|
198
|
-
dominantRole?: Slot["role"];
|
|
199
|
-
/**
|
|
200
|
-
* `measured` when enough receipts existed, otherwise `default`.
|
|
201
|
-
*/
|
|
202
|
-
source: "measured" | "default";
|
|
203
|
-
samples: number;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
export interface CognitiveInputs {
|
|
207
|
-
frames: readonly Frame[];
|
|
208
|
-
receipts: readonly Receipt[];
|
|
209
|
-
/**
|
|
210
|
-
* Host-supplied when it has ground truth; otherwise derived from frames.
|
|
211
|
-
*/
|
|
212
|
-
accountability?: Confidence;
|
|
213
|
-
/**
|
|
214
|
-
* Receipts considered recent for `arousal`. Defaults to 12.
|
|
215
|
-
*/
|
|
216
|
-
window?: number;
|
|
217
|
-
baseCapacity?: number;
|
|
218
|
-
tauVigilance?: number;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
/**
|
|
222
|
-
* Estimate the state from the ledger.
|
|
223
|
-
*
|
|
224
|
-
* Two timescales of the same signal are kept apart on purpose: `arousal` is
|
|
225
|
-
* *recent* error pressure (fast, phasic) while `mastery` is the long-run success
|
|
226
|
-
* rate (slow, trait-like). Collapsing them into one number loses the fact that a
|
|
227
|
-
* competent agent can be briefly alarmed, and an incompetent one can be calm.
|
|
228
|
-
*/
|
|
229
|
-
export const estimateCognitiveState: (input: CognitiveInputs) => CognitiveState = (input: CognitiveInputs): CognitiveState => {
|
|
230
|
-
const frames: readonly Frame[] = input.frames;
|
|
231
|
-
const last: Frame | undefined = frames.length > 0 ? frames[frames.length - 1] : undefined;
|
|
232
|
-
const baseCapacity: number = input.baseCapacity ?? CognitiveLaws.baseCapacity.value;
|
|
233
|
-
const tau: number = input.tauVigilance ?? CognitiveLaws.vigilanceTau.value;
|
|
234
|
-
const window: number = input.window ?? 12;
|
|
235
|
-
|
|
236
|
-
let cyclesSinceRest: number = frames.length;
|
|
237
|
-
for (let index: number = frames.length - 1; index >= 0; index -= 1) {
|
|
238
|
-
if (frames[index].mode === "rest") {
|
|
239
|
-
cyclesSinceRest = frames.length - 1 - index;
|
|
240
|
-
break;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
const active: Slot[] = last ? last.slots.filter((slot) => slot.state === "active") : [];
|
|
245
|
-
const chunks: number = active.reduce(
|
|
246
|
-
(sum, slot) => sum + (typeof((slot as SlotWithOptionalChunkWeight).chunk_weight) === "number" ? (slot as SlotWithChunkWeight).chunk_weight : 1),
|
|
247
|
-
0,
|
|
248
|
-
);
|
|
249
|
-
const deferred: Ignored[] = (last?.ignored ?? []).filter((item) => item.reason === "deferred" || item.reason === "budget");
|
|
250
|
-
const rootCapacity: number = Math.max(1, baseCapacity);
|
|
251
|
-
const load: number = clamp01(0.6 * Math.min(1, chunks / rootCapacity) + 0.4 * Math.min(1, deferred.length / 8));
|
|
252
|
-
|
|
253
|
-
const recent: Receipt[] = input.receipts.slice(Math.max(0, input.receipts.length - window));
|
|
254
|
-
const scored: Receipt[] = recent.filter((receipt) => receipt.outcome !== (void 0));
|
|
255
|
-
const failures: number = scored.filter((receipt) => receipt.outcome === "blocked" || receipt.outcome === "failure").length;
|
|
256
|
-
const partials: number = scored.filter((receipt) => receipt.outcome === "partial").length;
|
|
257
|
-
const failureRate: number = scored.length > 0 ? failures / scored.length : 0;
|
|
258
|
-
const partialRate: number = scored.length > 0 ? partials / scored.length : 0;
|
|
259
|
-
const arousal: number = clamp01(0.75 * failureRate + 0.25 * partialRate);
|
|
260
|
-
|
|
261
|
-
const allScored: Receipt[] = input.receipts.filter((receipt) => receipt.outcome !== (void 0));
|
|
262
|
-
const wins: number = allScored.filter((receipt) => receipt.outcome === "success").length;
|
|
263
|
-
const mastery: number = allScored.length > 0 ? clamp01(wins / allScored.length) : 0.5;
|
|
264
|
-
|
|
265
|
-
const vigilance: number = clamp01(Math.exp(-cyclesSinceRest / Math.max(1, tau)));
|
|
266
|
-
const capacityEff: number = Math.min(9, Math.max(1, Math.round(rootCapacity * (1 - CognitiveLaws.loadPenalty.value * load))));
|
|
267
|
-
const dominantRole: Slot["role"] | undefined = dominantRoleOf(active);
|
|
268
|
-
|
|
269
|
-
return {
|
|
270
|
-
load: round3(load),
|
|
271
|
-
vigilance: round3(vigilance),
|
|
272
|
-
arousal: round3(arousal),
|
|
273
|
-
mastery: round3(mastery),
|
|
274
|
-
accountability: clamp01(input.accountability ?? 0),
|
|
275
|
-
cyclesSinceRest,
|
|
276
|
-
capacityEff,
|
|
277
|
-
pLapse: round3(1 - vigilance),
|
|
278
|
-
dominantRole,
|
|
279
|
-
source: allScored.length >= 30 ? "measured" : "default",
|
|
280
|
-
samples: allScored.length,
|
|
281
|
-
};
|
|
282
|
-
};
|
|
283
|
-
|
|
284
|
-
type DominantRoleOf = (slots: readonly Slot[]) => Slot["role"] | undefined;
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* The role with the most chunk weight in a focus set; ties resolve to the first seen.
|
|
288
|
-
*/
|
|
289
|
-
const dominantRoleOf: DominantRoleOf = (slots: readonly Slot[]): Slot["role"] | undefined => {
|
|
290
|
-
const weight: Map<Slot["role"], number> = new Map<Slot["role"], number>();
|
|
291
|
-
for (let index: number = 0; index < slots.length; index += 1) {
|
|
292
|
-
const slot: Slot = slots[index];
|
|
293
|
-
const chunks: number = typeof((slot as SlotWithOptionalChunkWeight).chunk_weight) === "number" ? (slot as SlotWithChunkWeight).chunk_weight : 1;
|
|
294
|
-
weight.set(slot.role, (weight.get(slot.role) ?? 0) + chunks);
|
|
295
|
-
}
|
|
296
|
-
let best: Slot["role"] | undefined = undefined;
|
|
297
|
-
let bestWeight: number = -1;
|
|
298
|
-
const entries: [Slot["role"], number][] = [...weight];
|
|
299
|
-
for (let index: number = 0; index < entries.length; index += 1) {
|
|
300
|
-
const [role, total]: [Slot["role"], number] = entries[index];
|
|
301
|
-
if (total > bestWeight) {
|
|
302
|
-
best = role;
|
|
303
|
-
bestWeight = total;
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
return best;
|
|
307
|
-
};
|
|
308
|
-
|
|
309
|
-
/**
|
|
310
|
-
* The history multiplier: value learning minus inhibition of return.
|
|
311
|
-
*
|
|
312
|
-
* These are two mechanisms with opposite signs, not one "novelty" knob. A
|
|
313
|
-
* candidate that paid off is worth re-selecting; a candidate just rejected is
|
|
314
|
-
* worth *not* re-selecting, and both facts must survive into the next cycle.
|
|
315
|
-
*/
|
|
316
|
-
export const historyFactor: (history: CandidateHistory | undefined) => number = (history: CandidateHistory | undefined): number => {
|
|
317
|
-
if (!history) {
|
|
318
|
-
return 1;
|
|
319
|
-
}
|
|
320
|
-
const realized: number = typeof(history.realized) === "number" ? history.realized : 0.5;
|
|
321
|
-
const learned: number = 1 + CognitiveLaws.valueLearning.value * (realized - 0.5);
|
|
322
|
-
const age: number = typeof(history.lastIgnoredAge) === "number" ? history.lastIgnoredAge : Number.POSITIVE_INFINITY;
|
|
323
|
-
const ior: number = age === Number.POSITIVE_INFINITY ? 0 : 0.5 * Math.exp(-age / CognitiveLaws.iorTau.value);
|
|
324
|
-
return Math.max(0.1, learned - ior);
|
|
325
|
-
};
|
|
326
|
-
|
|
327
|
-
/**
|
|
328
|
-
* The cognitive salience law.
|
|
329
|
-
*
|
|
330
|
-
* `S = floor ⊕ [ voi · goalFit^γ · (1 + novelty·openness) · history ]
|
|
331
|
-
* / [ 1 + c_tok + c_risk + c_switch·(1 + load) + c_meta ]`
|
|
332
|
-
*
|
|
333
|
-
* with `γ = 1 + arousalNarrowing · arousal`. Four consequences are worth naming:
|
|
334
|
-
*
|
|
335
|
-
* 1. **Arousal narrows.** As `arousal` rises, `goalFit` is raised to a power > 1,
|
|
336
|
-
* so off-goal candidates die faster and on-goal ones keep their rank. This is
|
|
337
|
-
* Easterbrook's cue-utilisation result expressed as an exponent, with no
|
|
338
|
-
* affect term anywhere.
|
|
339
|
-
* 2. **Low load does not invite capture.** Below `noveltyLoadFloor`, novelty
|
|
340
|
-
* contributes nothing, because spare capacity is exactly where irrelevant
|
|
341
|
-
* material gets in (Lavie).
|
|
342
|
-
* 3. **Hard floors bypass.** A floor is a maximum, never a multiplier, so a
|
|
343
|
-
* safety signal with `goalFit` near zero cannot be multiplied down to a
|
|
344
|
-
* `low_voi` exclusion.
|
|
345
|
-
* 4. **Deciding costs.** Every candidate pays `metaCharge`, and a candidate that
|
|
346
|
-
* differs from the previous focus pays its switch cost — twice over when
|
|
347
|
-
* `load` is high, because reconfiguration is harder under load.
|
|
348
|
-
*/
|
|
349
|
-
type SalienceLaw = (candidate: CognitiveCandidate, state: CognitiveState) => Confidence;
|
|
350
|
-
|
|
351
|
-
export const salienceFromState: SalienceLaw = (candidate: CognitiveCandidate, state: CognitiveState): Confidence => {
|
|
352
|
-
const gamma: number = 1 + CognitiveLaws.arousalNarrowing.value * state.arousal;
|
|
353
|
-
const openness: number = state.load >= CognitiveLaws.noveltyLoadFloor.value ? 1 : 0;
|
|
354
|
-
const value: number =
|
|
355
|
-
candidate.voi * Math.pow(clamp01(candidate.goalFit), gamma) * (1 + 0.5 * clamp01(candidate.novelty) * openness) * historyFactor(candidate.history);
|
|
356
|
-
|
|
357
|
-
const switchTokens: number = candidate.switchCostTokens ?? 0;
|
|
358
|
-
const loadOnSwitch: number = 1 + state.load;
|
|
359
|
-
const cost: number =
|
|
360
|
-
1 +
|
|
361
|
-
2 * clamp01(candidate.costTokens / 2000) +
|
|
362
|
-
3 * clamp01(candidate.risk) +
|
|
363
|
-
0.5 * clamp01(switchTokens / 2000) * loadOnSwitch +
|
|
364
|
-
CognitiveLaws.metaCharge.value;
|
|
365
|
-
|
|
366
|
-
const capped: number = Math.min(clamp01(value / cost), clamp01(candidate.trustCap));
|
|
367
|
-
const floor: number = typeof(candidate.hardFloor) === "number" ? clamp01(candidate.hardFloor) : 0;
|
|
368
|
-
return round3(Math.max(capped, floor));
|
|
369
|
-
};
|
|
370
|
-
|
|
371
|
-
export interface CognitiveSelectionOptions {
|
|
372
|
-
budgetTokens: number;
|
|
373
|
-
/**
|
|
374
|
-
* Overrides `state.capacityEff` when the host has a better estimate.
|
|
375
|
-
*/
|
|
376
|
-
capacity?: number;
|
|
377
|
-
threshold?: number;
|
|
378
|
-
/**
|
|
379
|
-
* Token cost charged for changing the dominant role of the focus set.
|
|
380
|
-
*/
|
|
381
|
-
switchCostTokens?: number;
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
export interface CognitiveSelection {
|
|
385
|
-
slots: Slot[];
|
|
386
|
-
ignored: CognitiveIgnored[];
|
|
387
|
-
impasse?: "TIE" | "STUCK" | "BUDGET" | "INFEASIBLE";
|
|
388
|
-
/**
|
|
389
|
-
* Chunks consumed, so a caller can assert the capacity rule directly.
|
|
390
|
-
*/
|
|
391
|
-
capacityUsed: number;
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
/**
|
|
395
|
-
* Select a focus set under a state-modulated law.
|
|
396
|
-
*
|
|
397
|
-
* Order matters and is the point: floors are placed first, before any scoring,
|
|
398
|
-
* so capacity pressure can never convert a safety signal into `low_voi`. A
|
|
399
|
-
* floor that cannot be placed yields `INFEASIBLE` rather than a silent drop.
|
|
400
|
-
*/
|
|
401
|
-
type ScoredCandidate = {
|
|
402
|
-
candidate: CognitiveCandidate;
|
|
403
|
-
score: number;
|
|
404
|
-
};
|
|
405
|
-
|
|
406
|
-
type SelectionLaw = (candidates: readonly CognitiveCandidate[], state: CognitiveState, options: CognitiveSelectionOptions) => CognitiveSelection;
|
|
407
|
-
|
|
408
|
-
export const selectFromState: SelectionLaw = (candidates: readonly CognitiveCandidate[], state: CognitiveState, options: CognitiveSelectionOptions) => {
|
|
409
|
-
const threshold: number = options.threshold ?? 0.12;
|
|
410
|
-
const capacity: number = Math.max(1, options.capacity ?? state.capacityEff);
|
|
411
|
-
const switchCost: number = options.switchCostTokens ?? 0;
|
|
412
|
-
const scored: ScoredCandidate[] = candidates
|
|
413
|
-
.map((candidate) => ({ candidate, score: salienceFromState(candidate, state) }))
|
|
414
|
-
.sort((left, right) => right.score - left.score);
|
|
415
|
-
|
|
416
|
-
const ignored: CognitiveIgnored[] = [];
|
|
417
|
-
const slots: Slot[] = [];
|
|
418
|
-
let usedChunks: number = 0;
|
|
419
|
-
let remaining: number = options.budgetTokens;
|
|
420
|
-
let floorConflict: boolean = false;
|
|
421
|
-
|
|
422
|
-
for (let index: number = 0; index < scored.length; index += 1) {
|
|
423
|
-
const entry: ScoredCandidate = scored[index];
|
|
424
|
-
const chunks: number = Math.max(1, typeof(entry.candidate.chunkWeight) === "number" ? Math.floor(entry.candidate.chunkWeight) : 1);
|
|
425
|
-
const reserved: boolean = (entry.candidate.hardFloor ?? 0) > 0;
|
|
426
|
-
if (usedChunks + chunks > capacity) {
|
|
427
|
-
if (reserved) {
|
|
428
|
-
floorConflict = true;
|
|
429
|
-
}
|
|
430
|
-
ignored.push({ target: entry.candidate.target, reason: "capacity", revisit_if: "焦点释放后" });
|
|
431
|
-
continue;
|
|
432
|
-
}
|
|
433
|
-
const cost: number = entry.candidate.costTokens;
|
|
434
|
-
const withSwitch: number = cost + (entry.candidate.role === state.dominantRole ? 0 : switchCost);
|
|
435
|
-
if (withSwitch > remaining) {
|
|
436
|
-
ignored.push({ target: entry.candidate.target, reason: "budget", revisit_if: "预算恢复后" });
|
|
437
|
-
continue;
|
|
438
|
-
}
|
|
439
|
-
if (!reserved && entry.score < threshold) {
|
|
440
|
-
ignored.push({
|
|
441
|
-
target: entry.candidate.target,
|
|
442
|
-
reason: reasonForIgnore(entry.candidate, state),
|
|
443
|
-
revisit_if: entry.candidate.target.kind === "unknown" ? "VOI 上升或目标改变" : "重新评估后",
|
|
444
|
-
});
|
|
445
|
-
continue;
|
|
446
|
-
}
|
|
447
|
-
remaining -= withSwitch;
|
|
448
|
-
usedChunks += chunks;
|
|
449
|
-
slots.push({
|
|
450
|
-
target: entry.candidate.target,
|
|
451
|
-
role: entry.candidate.role,
|
|
452
|
-
tier: entry.candidate.tier,
|
|
453
|
-
salience: entry.score,
|
|
454
|
-
voi: entry.candidate.voi,
|
|
455
|
-
cost: { tokens: cost },
|
|
456
|
-
budget: { tokens: withSwitch },
|
|
457
|
-
why: entry.candidate.why,
|
|
458
|
-
state: "active",
|
|
459
|
-
});
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
let impasse: CognitiveSelection["impasse"] = undefined;
|
|
463
|
-
if (floorConflict) {
|
|
464
|
-
impasse = "INFEASIBLE";
|
|
465
|
-
} else if (slots.length === 0) {
|
|
466
|
-
impasse = "STUCK";
|
|
467
|
-
} else if (slots.length > 1 && Math.abs(slots[0].salience - slots[1].salience) < 0.02) {
|
|
468
|
-
impasse = "TIE";
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
return { slots, ignored, impasse, capacityUsed: usedChunks };
|
|
472
|
-
};
|
|
473
|
-
|
|
474
|
-
/**
|
|
475
|
-
* Why an item was excluded, chosen so an auditor can tell three things apart:
|
|
476
|
-
* it was not worth it (`low_voi`), it could not be told (`low_sensitivity`), or
|
|
477
|
-
* it was deliberately not reacted to (`conservative_criterion`). Conflating
|
|
478
|
-
* these is what makes alert fatigue unattributable.
|
|
479
|
-
*/
|
|
480
|
-
type IgnoreReasonLaw = (candidate: CognitiveCandidate, state: CognitiveState) => CognitiveIgnoreReason;
|
|
481
|
-
|
|
482
|
-
const reasonForIgnore: IgnoreReasonLaw = (candidate: CognitiveCandidate, state: CognitiveState): CognitiveIgnoreReason => {
|
|
483
|
-
const age: number | undefined = candidate.history?.lastIgnoredAge;
|
|
484
|
-
if (typeof(age) === "number" && age <= CognitiveLaws.iorTau.value) {
|
|
485
|
-
return "inhibited";
|
|
486
|
-
}
|
|
487
|
-
if (state.pLapse > 0.5 && candidate.uncertainty > 0.5) {
|
|
488
|
-
return "low_sensitivity";
|
|
489
|
-
}
|
|
490
|
-
return "low_voi";
|
|
491
|
-
};
|
|
492
|
-
|
|
493
|
-
/**
|
|
494
|
-
* The contract, as tests rather than as a formula. Ten monotonicity claims —
|
|
495
|
-
* the original five plus five that the cognitive law adds. An implementation may
|
|
496
|
-
* replace every constant above and still be conformant, provided these hold.
|
|
497
|
-
*/
|
|
498
|
-
type MonotonicityLaw = (base: CognitiveCandidate, state: CognitiveState) => boolean;
|
|
499
|
-
|
|
500
|
-
type SalienceProbe = (over?: Partial<CognitiveCandidate>, stateOver?: Partial<CognitiveState>) => number;
|
|
501
|
-
|
|
502
|
-
export const respectsCognitiveMonotonicity: MonotonicityLaw = (base: CognitiveCandidate, state: CognitiveState): boolean => {
|
|
503
|
-
const at: SalienceProbe = (over: Partial<CognitiveCandidate> = {}, stateOver: Partial<CognitiveState> = {}): number =>
|
|
504
|
-
salienceFromState({ ...base, ...over }, { ...state, ...stateOver });
|
|
505
|
-
const reference: number = at();
|
|
506
|
-
const checks: boolean[] = [
|
|
507
|
-
at({ voi: Math.min(1, base.voi + 0.1) }) >= reference,
|
|
508
|
-
at({ costTokens: base.costTokens + 200 }) <= reference,
|
|
509
|
-
at({ risk: Math.min(1, base.risk + 0.1) }) <= reference,
|
|
510
|
-
at({ trustCap: Math.min(base.trustCap, 0.2) }) <= reference,
|
|
511
|
-
at({ history: { ...base.history, realized: 1 } }) >= reference,
|
|
512
|
-
at({ history: { ...base.history, lastIgnoredAge: 0, lastSelectedAge: 0 } }) <= reference,
|
|
513
|
-
at({ hardFloor: 1 }) >= reference,
|
|
514
|
-
at({ switchCostTokens: 2000 }) <= reference,
|
|
515
|
-
at({}, { arousal: 1 }) <= reference,
|
|
516
|
-
at({}, { load: 0 }) <= reference,
|
|
517
|
-
];
|
|
518
|
-
return checks.every((ok) => ok);
|
|
519
|
-
};
|
package/src/attention/index.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Public attention entry: one state object, one shift action.
|
|
3
|
-
*
|
|
4
|
-
* The lower-level candidate scoring, interrupt broker and resource planner are
|
|
5
|
-
* implementation details during migration. They are not part of this surface.
|
|
6
|
-
*/
|
|
7
|
-
export { Attention, toShiftAction } from "./attention.ts";
|
|
8
|
-
export type { AttentionForce, AttentionForceKind, AttentionItem, AttentionOptions, AttentionShift, AttentionShiftResult, AttentionSnapshot, AttentionSubject } from "./attention.ts";
|