@prestack/thread 0.1.0 → 0.1.2

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 CHANGED
@@ -1,5 +1,308 @@
1
1
  # @prestack/thread
2
2
 
3
+ ## 0.1.1
4
+
5
+ what it exports is untouched and its code moved.
6
+
7
+ ### Fixed
8
+
9
+ - `chat` — its code moved and what it exports did not.
10
+ - `compiler-scope` — its code moved and what it exports did not.
11
+ - `files` — its code moved and what it exports did not.
12
+ - `gate-writer` — its code moved and what it exports did not.
13
+
14
+ <!-- release 0.1.1 -->
15
+ <!-- holds
16
+ actor 1158f4aff155 core/actor#Env:e97761857593 core/actor#ENVIRONMENT:775159e22117 core/actor#Environment:0e63440f7ed9 core/actor#Actor:da6a0a4f6d1a core/actor#PUBLIC_ROLE:0708d38af082 core/actor#ANONYMOUS:7aac93520d5f
17
+ answers 1505a96bd136 core/answers#RECEIPT:ad72fbad0fea core/answers#ENDS:5bfccdcd5f7b core/answers#FROM:3c837e3dc08c core/answers#CHAINED:7b13c9b1e786 core/answers#BODY:70a4b97be2fd core/answers#WRITES:9d735ee4d4d2 core/answers#asFlag:25c52264bada core/answers#refuse:7ee262649b02 core/answers#slug:492099384a1e core/answers#within:fbafe944704a core/answers#parsed:58c428b43692 core/answers#scoped:64ce8910f514 core/answers#Asked:c6b95d4b0313 core/answers#Said:1cd114f6023d core/answers#named:a6168ca8e40e core/answers#prompted:303760ba8ed7 core/answers#Given:822297d6d75d core/answers#Child:90dc57be460c core/answers#Stated:0cac88b17ea4 core/answers#mapped:c8ed361b963a core/answers#CARRIES:4de2138e3a11 core/answers#ownAnswers:5c97ca968c6a core/answers#stating:b2ce474816f4 core/answers#arrayValue:9f39f3dd60e0 core/answers#asMap:6bdf1b65f804 core/answers#gathered:6a67d2ba59f9 core/answers#asBoolean:6bdf1b65f804 core/answers#rowLines:10e03b28721b core/answers#withChildren:0ce71de61a5d core/answers#childrenIn:19bb201f22a9 core/answers#BODIED:4de2138e3a11 core/answers#WRITTEN:4de2138e3a11 core/answers#seeding:0ddd814882ea core/answers#children:dcb6ef22379a core/answers#bodied:8f27f5a33d0b core/answers#only:76c6877b3914 core/answers#unasked:76c6877b3914 core/answers#answer:530c0e6a2fb3 core/answers#accepted:6c42249c541b core/answers#needed:76e936a60d64 core/answers#wrapped:0e03558213e5 core/answers#marked:ca0a5bc98816 core/answers#Told:34b9cab8ecec core/answers#Declared:14a1629c6c7c core/answers#declared:ed8c4d1f12f8 core/answers#nouns:b82da6d91e26 core/answers#asking:03631e356039 core/answers#answered:f8c2780ce4f6 core/answers#given:538c4f41ef3f core/answers#handed:65fda728778f core/answers#TYPED:2514d79dbd06 core/answers#CARRIED:5484dfc0086a core/answers#wordsIn:b2bbc3c780aa core/answers#credentialIn:4aa89e8da0ca
18
+ attach aa436693eb3b core/attach#packageOf:95b5fff25591 core/attach#Appending:a9e0459b54b9 core/attach#Writing:be521774d91f core/attach#Attaching:ddd89d438b94 core/attach#UnattachableError:c0915e9e2ee4 core/attach#StillADependencyError:92c932b34a0a core/attach#StillDeclaredError:055509e3ed65 core/attach#DependencyRingError:2efe6ca0a2a5 core/attach#TakenFileError:58b4ac596857 core/attach#UnthreadedError:cb4f87163654 core/attach#attaches:253b1b546924 core/attach#behind:35e21849c546 core/attach#attach:dbf8043d1045 core/attach#detach:90e9cd60ecd5 core/attach#ATTACH:8b0b999ca5c9
19
+ build-writer 2b75de749c75 derivation/generators/build#declared:f833228cb868 derivation/generators/build#wanted:ca9066873bf3
20
+ capability-writer 4b05ab6f2a71 operations/generators/capability#derive:0c14fda3eab7
21
+ chain 5874fb98cedf core/chain#generators:714b6bd5de71 core/chain#offers:6dadb72b44b4 core/chain#RAN:8720636fbac7 core/chain#REFUSED_BY:3eae304480a7 core/chain#batched:97a8754eeaf1 core/chain#settling:ca839ad0fbd3
22
+ chat 3759f6341269 core/client#Order:2fbc2a657a5e core/client#Answered:12d1c491de3b core/client#carry:195e0b500972 core/client#Turn:9511ce9881bf core/client#talking:2e5cc219170b core/client#run:4e6b10dd11a7
23
+ compile-writer 940eb3474def operations/generators/compile#parts:a2c39cf9feb9 operations/generators/compile#compile:2fb552595d35
24
+ compiler-scope c8250988a4ab
25
+ condition 8b98d66b28cf core/condition#COMPARE_OPS:060d4cd76a07 core/condition#CompareOp:97849b9d273e core/condition#AGGREGATIONS:f473b52068e2 core/condition#ACTOR_FACTS:eb34541ae96c core/condition#AGO:09aa52ab5287 core/condition#Operand:451f00cec049 core/condition#Condition:29dadf7cfd50 core/condition#walkOperands:9aa17730b2ab core/condition#mentionsActor:793e52b424e1 core/condition#agoSeconds:5d4cb8909c84 core/condition#satisfies:32daa43a97f3 core/condition#CONDITION_ANSWERS:82b841e712b2 core/condition#conditioned:3b65b55a7c83 core/condition#said:d7feb19d07d8
26
+ constraint-shape 3e9cbe40d847 integrity/constraint#Sourced:7a4a750b4216 integrity/constraint#Proof:ed7d660baa12 integrity/constraint#shown:6522e6fa1dbf integrity/constraint#Constraint:fc25230385f4 integrity/constraint#CONSTRAINTS:a99a22a9f325
27
+ core-attach aa436693eb3b core/attach#packageOf:95b5fff25591 core/attach#Appending:a9e0459b54b9 core/attach#Writing:be521774d91f core/attach#Attaching:ddd89d438b94 core/attach#UnattachableError:c0915e9e2ee4 core/attach#StillADependencyError:92c932b34a0a core/attach#StillDeclaredError:055509e3ed65 core/attach#DependencyRingError:2efe6ca0a2a5 core/attach#TakenFileError:58b4ac596857 core/attach#UnthreadedError:cb4f87163654 core/attach#attaches:253b1b546924 core/attach#behind:35e21849c546 core/attach#attach:dbf8043d1045 core/attach#detach:90e9cd60ecd5 core/attach#ATTACH:8b0b999ca5c9
28
+ core-capabilities bff70eb471ce operations/capabilities#SURFACES:0ba37ce5c567 operations/capabilities#Surface:f6edd9874bdb operations/capabilities#isSurface:b576dba589f2 operations/capabilities#CAPABILITIES_AT:b837276e2b3f operations/capabilities#CLIENT_AT:69106f1a9d39 operations/capabilities#DISPATCHING_AT:79217c5a5a98 operations/capabilities#routeAt:b80bb4b90b70 operations/capabilities#ROUTE:c96616878285 operations/capabilities#SEAMS_AT:b4084bbddbf6 operations/capabilities#DECLARED_SEAMS_AT:3b21ab4c0bec operations/capabilities#OPENAPI_AT:d6b86d9cb07d operations/capabilities#MCP_AT:5b46a2eec16c operations/capabilities#Capability:6c442d0f9e02 operations/capabilities#reachable:40d77d9b3ba7 operations/capabilities#switched:a654a4b88939
29
+ core-dispatch 64a13a05c44a operations/dispatch#DISPATCH_AT:4e8f2c0639bf operations/dispatch#dispatched:f2f582240655
30
+ core-seams b55bc36cec98 operations/seams#FieldList:79618cc918ab operations/seams#ReadField:6c71c3b0a8a2 operations/seams#Row:95110d74c4c0 operations/seams#Store:ee7da936b5cb operations/seams#Span:d05875ec2d38 operations/seams#Telemetry:8e399e3e32a8 operations/seams#PropertyValue:4885bb975ac1 operations/seams#LogLevel:d774edbc0c9d operations/seams#Log:3f011b7815e2 operations/seams#AuditRecord:2cc1f3856bc6 operations/seams#Audit:99bdcff4cecb operations/seams#ErrorRecord:5e0632ae2b01 operations/seams#Errors:d2b92756323e operations/seams#Search:8cdfae2bb77c operations/seams#Views:9abc82661c09 operations/seams#Cost:5945c7bf7996 operations/seams#Idempotency:a65d14aecfe8 operations/seams#PlatformEvent:acef749a5750 operations/seams#EventBus:67a20231bed5 operations/seams#RateLimiter:c7ae85ae381b operations/seams#FeatureGate:ced4c1631ced operations/seams#QuotaHold:06d12b02b59f operations/seams#Quotas:0d4e6476a330 operations/seams#Outbox:3d0c2c1b0e6c operations/seams#Transactional:c8d08d0622c4 operations/seams#isTransactional:1170f66cd9b8 operations/seams#Job:fa585efcd85d operations/seams#EnqueueOpts:36f99ec0ff29 operations/seams#SchedulerSeam:6beee88125a9 operations/seams#Queue:5a439c3efb9d operations/seams#Files:92f283c3a7ed operations/seams#Clock:ec46770f7fa1 operations/seams#Random:8d2b2b13490b operations/seams#HttpMethod:52ada6a3365a operations/seams#HttpRequest:316f3a88a0fa operations/seams#HttpResponse:eb30d7e88cd7 operations/seams#Http:bc39e49d79a7 operations/seams#Vault:8dc7e8d666b8 operations/seams#Seams:6cde63c94c7b operations/seams#AuditOutcome:6e2de5ccf312 operations/seams#isRow:539dcd1c4a4b operations/seams#SUPPLY:aff5fe72a644 operations/seams#Supplied:b7223025057f operations/seams#SUPPLIES:848c71497c27 operations/seams#supplies:41f6b29fc1d7 operations/seams#Handed:3804007c9616 operations/seams#Reads:d75d51b7a366 operations/seams#SAID:371cb1a21c0b
31
+ cost 87ed92ed773f operations/cost#CostAmount:7468370fb473 operations/cost#InvalidCostError:ed1ead132642 operations/cost#assertValidCost:1741b6745c98 operations/cost#MICRO_CENTS_PER_CENT:9cdec51a2064 operations/cost#MICRO_CENTS_PER_UNIT:e9e877a0315d operations/cost#toMicroCents:1abcf41a972e operations/cost#fromMicroCents:685e3195301a
32
+ derivation-attach 53d5712deff4 derivation/attach#ATTACH:8b0b999ca5c9
33
+ derived-check fb51b1b9949e derivation/generators/check#CheckStatus:3d5184654de8 derivation/generators/check#FileCheck:5fc2fc17d9dc derivation/generators/check#CheckReport:0a85b0b7a552 derivation/generators/check#ReadFile:bfe47da3146a derivation/generators/check#CheckOptions:12047b27ac13 derivation/generators/check#checkGenerated:303b484f0191 derivation/generators/check#formatCheckReport:f1ffd8d71128 derivation/generators/check#detectHandEdits:4cb9374c9dec
34
+ descend 443ba2821aa7 core/descend#ROOT:16475c413846 core/descend#TREE:16475c413846 core/descend#THREAD_AT:16475c413846 core/descend#unkept:c4b11ba631c2 core/descend#LISTS:2fdc0678a755 core/descend#ROW_LISTS:c9d0aa651f7b core/descend#Row:b97aa507e223 core/descend#Pass:6d224c4baa3b core/descend#Finding:59d032ea6dfc core/descend#under:9d2961e6c891 core/descend#sources:3ccbfc44dc32 core/descend#configured:08dd6fe94449 core/descend#hosting:03773213bb0d core/descend#uncompiled:e6cc5d02da1f core/descend#read:5b91d50130a7 core/descend#shapesNamed:b7e8c501d5a3 core/descend#threading:4203b54a8ba4 core/descend#shapeFields:0c9cc3794ffb core/descend#Field:c0aa1cfe8f06 core/descend#listShape:de887cd9f0d5 core/descend#listFields:64024e47360b core/descend#rowShape:de887cd9f0d5 core/descend#nodesIn:0e1ab44ef9ff core/descend#reached:3ccbfc44dc32 core/descend#forget:a3965c1dfabe core/descend#descend:cb2c0f44b0be
35
+ descent-check 832428fb4257 integrity/check-threads#ROOT:fed419935721 integrity/check-threads#THREAD_AT:ad73a49b2e42 integrity/check-threads#TREE:b1b38c62f173 integrity/check-threads#descend:e424ec88ff49 integrity/check-threads#Finding:59d032ea6dfc integrity/check-threads#Pass:ebdf8cc00bc4 integrity/check-threads#trackedFiles:3ccbfc44dc32 integrity/check-threads#unthreaded:461b6e326ac7 integrity/check-threads#twiceParented:e96bea943ec4 integrity/check-threads#refusals:f9f72d575f28
36
+ determinism 8ecb9f16de37 derivation/generators/determinism#GeneratedFile:1f5dc83a87cd derivation/generators/determinism#sortedBy:f08908497eb1 derivation/generators/determinism#compare:8ad383dc8043 derivation/generators/determinism#sortedEntries:61aff6982b60 derivation/generators/determinism#bodyHash:155def245510 derivation/generators/determinism#withHeader:1561e9fea045 derivation/generators/determinism#ParsedFile:078b3aa626c3 derivation/generators/determinism#parseGenerated:e4beb7be1f99 derivation/generators/determinism#lines:c0f235ccf1c6 derivation/generators/determinism#tsString:8a273616993f derivation/generators/determinism#stableJson:5d314875cc3d derivation/generators/determinism#pascal:ff8fa0760be2 derivation/generators/determinism#camel:ff8fa0760be2
37
+ docs-writer 570e6780eda4
38
+ error-catalogue 323b27012113 operations/errors/errors#AuthUnauthenticated:efe1c4495acd operations/errors/errors#AuthInvalidCredentials:78c8ac04edfa operations/errors/errors#AuthTokenExpired:09f338e4fa9c operations/errors/errors#AuthTokenReused:a6ee5d2590ae operations/errors/errors#AuthSessionRevoked:31ae42fb304b operations/errors/errors#AuthDenied:8bd7f35c2192 operations/errors/errors#QuotaExceeded:2ee1b4da66bb operations/errors/errors#QuotaReservationExpired:195ca4d39488 operations/errors/errors#RateLimitExceeded:e3c5bae10db0 operations/errors/errors#FeatureNotInPlan:02d960158154 operations/errors/errors#DbNotFound:c80df414abde operations/errors/errors#DbConstraintViolation:f20bfe23677d operations/errors/errors#DbAlreadyExists:1659ca78ef51 operations/errors/errors#DbConflict:5e3c0084ac87 operations/errors/errors#DbMigrationChecksumMismatch:7b9113d9eafe operations/errors/errors#DbDestructiveWithoutDryRun:a1ce04f34fb3 operations/errors/errors#DbRoundTripBudgetExceeded:cc4bcf352de8 operations/errors/errors#DbCursorInvalid:ae1ad9dacc04 operations/errors/errors#DbCursorExpired:f734ef6c97e2 operations/errors/errors#WorkflowNodeFailed:9b71b0d7df6a operations/errors/errors#WorkflowInvalidTransition:c2935cfd62ac operations/errors/errors#WorkflowCompensationFailed:8c46fd5021a7 operations/errors/errors#WorkflowAlreadyRunning:803771837def operations/errors/errors#QueueJobFailed:9e75ac4a95dc operations/errors/errors#QueueDlqExhausted:653b172661e0 operations/errors/errors#AiProviderUnavailable:9fa5029e7c23 operations/errors/errors#AiSchemaValidationFailed:bac21b21dd5f operations/errors/errors#AiToolNotInMask:f1094ae55f3a operations/errors/errors#AiNodeCapExceeded:bfda86c86c1e operations/errors/errors#SearchIndexFailed:5072fdb59687 operations/errors/errors#SearchQueryInvalid:8a4dba37426b operations/errors/errors#CommsChannelKindUndeclared:83f32dfa817c operations/errors/errors#CommsChannelKindUndescribed:6c8ef4986048 operations/errors/errors#CommsChannelKindUnlabelled:0aecc153fdb5 operations/errors/errors#CommsChannelKindUndocumented:2ab2e6e474de operations/errors/errors#CommsChannelKindDuplicate:eab3af8aa962 operations/errors/errors#ConfigInvalid:57ee9146b818 operations/errors/errors#ConfigMissingEnv:96be147c6d60 operations/errors/errors#ConfigSecretInPublicVar:4e2bfd6f0bc7 operations/errors/errors#ConfigCredentialInvalid:2ab584c6c640 operations/errors/errors#ConfigScopeMissing:4cf53afc238f operations/errors/errors#ConfigResourceNotFound:4da2eb95eab7 operations/errors/errors#ConfigDestinationIncompatible:47ea1edf0a90 operations/errors/errors#ConfigBlocksExit:85dc23c3211d operations/errors/errors#NetTimeout:eb4a1bf6384b operations/errors/errors#NetUpstreamUnavailable:1083c6f7c7a4 operations/errors/errors#NetDestinationRefused:ea64fa761003 operations/errors/errors#InternalUnexpected:d23fea6e526a operations/errors/errors#InternalNotImplemented:d30dbed4f6eb operations/errors/errors#InternalInvalidArgument:08e137b263a3 operations/errors/errors#PLATFORM_ERRORS:9700124c67a7 operations/errors/errors#PlatformErrorCode:8f4f69419324
39
+ error-classes 9e5a171ecfc9 operations/errors/classes#ErrorClassDef:f86478155103 operations/errors/classes#ERROR_CLASSES:edfbdd775e5f operations/errors/classes#ErrorClass:76fd5e188a3d operations/errors/classes#ERROR_CLASS_NAMES:74c194ba25bd operations/errors/classes#classDef:7d0a82d47941
40
+ error-namespaces b1c1cde59fe2 operations/errors/catalog#NAMESPACES:b5a6079ad39a operations/errors/catalog#Namespace:605585a58c10 operations/errors/catalog#ErrorCode:9c332e778de1 operations/errors/catalog#ErrorDef:7cbf5075cdfe operations/errors/catalog#DefineErrorInput:26ba65e1ba53 operations/errors/catalog#PlatformErrorInit:46fb5f54ad40 operations/errors/catalog#PlatformError:cb9f313b940e operations/errors/catalog#isPlatformError:54c7e704b130 operations/errors/catalog#ErrorFactory:ac8e16652a4c operations/errors/catalog#DuplicateErrorCodeError:c2e0d4b9a453 operations/errors/catalog#ErrorCatalog:2d6513801aad operations/errors/catalog#catalog:6f8193fbf011 operations/errors/catalog#defineError:b63127ff92f5
41
+ error-results 964e86677bba operations/error-results#errorDefForResult:d20408abb638 operations/error-results#platformErrorForResult:cfa19576d3d2
42
+ files 61150921bb02 core/files#Kind:8f9d1230cc55 core/files#Listed:60ef88b9766a core/files#Measured:ba8fd66caf68 core/files#Answering:441433bdfe93 core/files#answeredBy:048634b28e56 core/files#attached:f8c2780ce4f6 core/files#kind:485fa3d1c1c6 core/files#existsSync:219e8de5f523 core/files#readFileSync:84627dee3e2a core/files#writeFileSync:16acc950adf3 core/files#Named:a490c22afabe core/files#readdirSync:2fab39d45004 core/files#Held:488919ee8a4c core/files#statSync:658893a15fb6 core/files#rmSync:92d8fa578550 core/files#renameSync:9c9fbadb45e6 core/files#appendFileSync:ecfd24b4e865 core/files#realpathSync:626005f54fe3
43
+ finding da4a559b20fe core/finding#Finding:180d780f4cd9 core/finding#forbids:019885a2a7da core/finding#runChecker:bea68acae26f
44
+ gate-writer 413731290448
45
+ glossary-shape 8e609bb71c20 knowledge/glossary#Glossary:e30f4c6fe581
46
+ glossary-writer eed49268c05d
47
+ grant-shape c1126bdba365 operations/access#PERMITS_AT:747bdea9514c operations/access#declaredWords:5a76b6349900 operations/access#undeclared:f8a1498208ca operations/access#Grant:e7cec0376200 operations/access#opensToEverybody:10368b21fa22 operations/access#grantedTwice:563aa26b055e operations/access#unanswerable:563aa26b055e
48
+ http 4d02453ead9c operations/http#HTTP_CALL_ACTION:b90d08fc2104 operations/http#HttpNotConfiguredError:cb4f87163654 operations/http#OutwardTransportError:b169a7a9de9a operations/http#outwardUrl:ab5ee055ae1c operations/http#HttpSeamOptions:2b40e572dfe0 operations/http#httpSeam:326f43bc4293 operations/http#RecordedCall:318c0983fea1 operations/http#ScriptedAnswer:9f4273f0ade9 operations/http#recordingHttp:fd20bbaaa194
49
+ init 54bcb9c58d12 core/init#TREE:0b34eb8c6947 core/init#ROOT:23a226909662 core/init#AlreadyThreadedError:6b783660d574 core/init#COMPILER:09b3efa678f5 core/init#LOCKFILES:a1d5650d1995 core/init#manager:8121415e87a8 core/init#MANIFEST:495fdf585250 core/init#REGISTRY:16475c413846 core/init#IGNORED:16475c413846 core/init#ignored:15de269b224c core/init#compiler:15de269b224c core/init#root:383996e16a82 core/init#init:8121415e87a8
50
+ integrations-attach 46f59682fb79 integrations/attach#CONCEPTS:0e6daa92601c integrations/attach#ATTACH:8b0b999ca5c9
51
+ integrity-attach 068a087cb99a integrity/attach#ATTACH:8b0b999ca5c9
52
+ invoked acc9518b7dd3 core/invoked#invoked:9133dcc091f3 core/invoked#SOURCE:e43353c41f9b core/invoked#BESIDE:95b5fff25591 core/invoked#LOADER:4de2138e3a11 core/invoked#CLI:4de2138e3a11 core/invoked#REFUSED:5cbef15de1fd core/invoked#shared:8c2d4d3f7d5b core/invoked#exit:a631d3ee5cd5 core/invoked#refusal:51d097295f50
53
+ issues-writer 21cd7349d337
54
+ knowledge-attach 3b761e8e2ede knowledge/attach#ATTACH:8b0b999ca5c9
55
+ lint 5f1b545753b1 integrity/lint#ruleMessage:cbd1b8bbcf00 integrity/lint#agentInstructions:3ccbfc44dc32 integrity/lint#defineRule:d391a4a1f3aa integrity/lint#defineRules:8bfd1bf6cfa5 integrity/lint#ruleRule:466d7d9ccaa3 integrity/lint#ruleRules:b7cc8a626183 integrity/lint#ruleSeverities:4506861e89ae integrity/lint#plugin:948c4ffe9079 integrity/lint#default:af79bdaf6dee integrity/lint#rules:f3a0aef9ed97 integrity/lint#ruleDeclarations:30516a9f1aa2 integrity/lint#RuleViolation:31a1a1e48e80 integrity/lint#RuleRunner:bbf72f90b110 integrity/lint#theRules:89139ffca783
56
+ lsp-bin b71d5da40c13
57
+ lsp-diagnostics 3ebe001dc037 integrity/lsp/diagnostics#DiagnosticSource:d08c813cf00a integrity/lsp/diagnostics#repoSource:dff5c2ce8d38 integrity/lsp/diagnostics#ERROR:d674d8e65aca integrity/lsp/diagnostics#WARNING:00a4f8869ab3 integrity/lsp/diagnostics#Position:46e0a3561d8b integrity/lsp/diagnostics#Diagnostic:ae6f64604dbe integrity/lsp/diagnostics#SOURCE_NAME:2514d79dbd06 integrity/lsp/diagnostics#toDiagnostic:fcae9032abb1 integrity/lsp/diagnostics#report:0dbedc0cd91b
58
+ lsp-findings 72f7d80645c0 integrity/lsp/findings#At:f235cb016ba3 integrity/lsp/findings#Finding:7d5c3a039f29 integrity/lsp/findings#detailOf:c2c587190fb0 integrity/lsp/findings#anchorIn:a250e5899ebf integrity/lsp/findings#locate:3793c6d451b7 integrity/lsp/findings#headOf:1a535cdf8f10 integrity/lsp/findings#rangeOf:f398dcb2f343
59
+ lsp-lint 878c49092e19 integrity/lsp/lint#isLintable:fd3e0e886f7d integrity/lsp/lint#LINT_CONFIG:82d55ccf289a integrity/lsp/lint#LintUnavailableError:f8f16a4068e3 integrity/lsp/lint#lintFindings:8fa9b43d2fa3
60
+ lsp-protocol d0ad8650307b integrity/lsp/protocol#RpcMessage:50bff985f883 integrity/lsp/protocol#METHOD_NOT_FOUND:ada3d6776590 integrity/lsp/protocol#encode:f00f8f2ab7bb integrity/lsp/protocol#MalformedMessageError:f8f16a4068e3 integrity/lsp/protocol#MessageBuffer:b1e528cf49fb
61
+ lsp-server a9f76280e395 integrity/lsp/server#ServerOptions:b2f4aaebe993 integrity/lsp/server#LspServer:5fa4c9448c6f
62
+ memory-seams 81354a470e2a operations/memory#UnknownColumnError:8b199b2bd819 operations/memory#VersionConflictError:4dc97c0f0896 operations/memory#MemoryStore:03b0fda2730d operations/memory#MemoryQueue:bbba236f590f operations/memory#Sink:4022c6709cbe operations/memory#MemoryIdempotency:75c2203e95f1 operations/memory#MemorySeamOptions:de2c0a77234f operations/memory#memoryVault:195dfbde5938 operations/memory#arrived:48096ac6d41e operations/memory#fresh:fe77a4ba7172 operations/memory#inMemorySeams:2ce1a7e07792
63
+ metering 3f4101335989 operations/metering#ActionBudget:f1d9d077152c operations/metering#WriteAmplification:fc8c12c4c74c operations/metering#DatabaseUsage:dec3f4c15d28 operations/metering#RoundTripBudgetExceededError:fd70c48cce7a operations/metering#BUDGET_EXCEEDED_BECAUSE:62517f9e87d5 operations/metering#DB_USAGE_PROPERTY:6bf9119631cc operations/metering#DB_USAGE_ATTRIBUTES:4cc5856f8e54 operations/metering#DB_AMPLIFICATION_PROPERTY:3d4a5e213f60 operations/metering#DB_AMPLIFICATION_ATTRIBUTES:2bcc6710ab6c operations/metering#databaseUsageValues:2badbd9d5274 operations/metering#writeAmplificationValues:4cb9d02b2a71 operations/metering#payloadBytes:2498eae4eed1 operations/metering#MeterableSeams:cf485c0bb5b5 operations/metering#Metered:b9962ff3e83a operations/metering#MeteredSeams:11200a6fdd73 operations/metering#meterDatabase:073587bf0d14
64
+ module 4fce7dd46b7b integrations/module#ran:4857758ecfcd integrations/module#run:c5a3bf40b8e1
65
+ operation-nodes 20b2da81c3ba operations/nodes#Node:2112c57d9bb8 operations/nodes#Held:0ec1b9f302e4 operations/nodes#STOPPED:5cbef15de1fd operations/nodes#stopped:2f6d794b907c operations/nodes#nd_read:ebe50f919c03 operations/nodes#nd_action:c76708228b06 operations/nodes#nd_branch:4386baffad1e operations/nodes#nd_each:ade7b07e6aec operations/nodes#nd_parallel:659ced4866c5 operations/nodes#nd_repeat:54d15c9c2875 operations/nodes#nd_stop:6244f240267e
66
+ operation-shape bc93f428de67 operations/operations#OPERATIONS_FILE:e46dfbcf462b operations/operations#TRIALS_AT:aaf352faa5b3 operations/operations#NODES_FILE:210e774203a3 operations/operations#MEMBERS_LIST:23961436d339 operations/operations#Operation:010f9dfefb3e operations/operations#OPERATIONS:7e34107beaa8
67
+ operations-attach 689c6957cd6c operations/attach#TAKES:6cddee9943a2 operations/attach#WOVEN:a99aa29866b3 operations/attach#said:c89bb33d7607 operations/attach#ATTACH:8b0b999ca5c9
68
+ permits-writer f9e142ce0ae7
69
+ publish-writer 141020971235
70
+ queue-policy 4f5417036cfd operations/queue-policy#MAX_ATTEMPTS:14dd7305c0fa operations/queue-policy#backoffMs:406c2222ff5e operations/queue-policy#isExhausted:402c2f1c9f9a
71
+ read-command afd47d858c95
72
+ release-shape 2de92c9f7b9d derivation/release#PREFIXES:6da43a4f714c derivation/release#KINDS:277a6ea035cd derivation/release#WRITES:fc2d72a3ac58 derivation/release#LISTENS:58f03905ca9e derivation/release#SAID:5bd0783b90d3 derivation/release#kindOf:4176df8c51b9 derivation/release#WRITTEN_BY:9173a6988956 derivation/release#CHECKED_BY:da31b0e1d991
73
+ release-writer 43a026a3c702 derivation/generators/release#CHECKED_BY:50e734bb9f42 derivation/generators/release#WRITES:b89e55dbc69c derivation/generators/release#made:ea0890697a77
74
+ result 9f5e98a1c646 operations/result#ResultCode:2c9cb831da2e operations/result#FailureIdentity:8af44679ea20 operations/result#Result:51fa3d37b70f operations/result#ok:012b7060c34a operations/result#fail:5787814702d4 operations/result#ValidationError:8056c1ea409e
75
+ round 56eb278418e4
76
+ rows 4bf9d5d12657 core/rows#Bounds:9f96256b89fa core/rows#inCode:3aa8ca939e44 core/rows#matched:efe81f54e0c4 core/rows#listBounds:3adc84a88226 core/rows#holdsRow:745a20ac8a94 core/rows#seededAt:483fd49afaa5 core/rows#rowsIn:98b8583dd419 core/rows#withRow:dcc57512f05d core/rows#withSeed:dd37a3bf5b3b core/rows#withRequires:d11efd3851ea core/rows#seedsIn:2de54e168233 core/rows#afterRow:6c07ac3f763a core/rows#quoted:7cb4ec66102d core/rows#valuesIn:84f1cf0a2b48 core/rows#unread:a2c39cf9feb9 core/rows#STATED:3c39f854eb6a core/rows#reconciled:36df6a2bfcce core/rows#fieldIn:13b49f086cce core/rows#withField:7c52e0fd3d24 core/rows#withoutRow:ecc4a8d269f9 core/rows#showing:2d45570925a8
77
+ scope aa2466654fc7 core/scope#ORGANISATION:8510114ffd9e core/scope#THING:2514d79dbd06 core/scope#NAMED:c33cb60b8e33 core/scope#named:72b4c80878b8 core/scope#idOf:3ab7154bd91a core/scope#ours:ab9daad14f31
78
+ sealed-store f613c714a165 integrations/vault#VAULT_DIR:5dd2b28d7cef integrations/vault#SEALED_NAME:4eaaac010b8c integrations/vault#KEY_NAME:065de823d162 integrations/vault#SEALED_AT:548d924665e3 integrations/vault#KEY_AT:2bcb12622e0d integrations/vault#ALGORITHM:84a84e44a5a1 integrations/vault#KEY_BYTES:95940045d335 integrations/vault#keyOf:71ea2ee0c552 integrations/vault#keyed:878e72b78d7b integrations/vault#seal:48aead05fdcd integrations/vault#sealedIn:d0d2e1cc0461 integrations/vault#opened:fea1d83b295a integrations/vault#IGNORES:4de2138e3a11
79
+ secret 4491d6438198 integrations/secret#SECRECY:6814f1bcc247 integrations/secret#SAID:7b6a22f69118 integrations/secret#Secret:3bd4b704fdfb integrations/secret#secrecyOf:53c866c6d50d integrations/secret#isServerOnly:14af671c09c3 integrations/secret#unclassified:3f18056f2160 integrations/secret#valued:3f18056f2160
80
+ seed-writer 2c728fd6d429 operations/generators/seed#quoted:b3a2bd470cb2 operations/generators/seed#beside:6c0fa306492b operations/generators/seed#runtime:b909738618a0 operations/generators/seed#types:2aee6c512ee7 operations/generators/seed#builtFrom:3b21d7bfce78 operations/generators/seed#operations:69e0b4d6cf2d operations/generators/seed#problem:44d3a33067da operations/generators/seed#blockIn:4aa89e8da0ca operations/generators/seed#scaffold:d58c01b2574a operations/generators/seed#nodeText:f7813131ffee operations/generators/seed#seed:9a4c29314682
81
+ shape 079cfa1542bf core/thread#Quote:34b9cab8ecec core/thread#Threaded:aa8a41b1903e core/thread#Member:2112c57d9bb8 core/thread#PREFIXES:e0184df3148d
82
+ slopnator 990671e454de integrity/slopnators/sl_broken_lineage#slopnator:42fb769c73ec integrity/slopnators/sl_declared_elsewhere#slopnator:42fb769c73ec integrity/slopnators/sl_derived_drift#Derivation:a7cc81c002ff integrity/slopnators/sl_derived_drift#derivations:f46b8572fa7c integrity/slopnators/sl_derived_drift#slopnator:42fb769c73ec integrity/slopnators/sl_hardcoded_style#slopnator:42fb769c73ec integrity/slopnators/sl_inert_island#slopnator:42fb769c73ec integrity/slopnators/sl_inert_slopnator#slopnator:42fb769c73ec integrity/slopnators/sl_missing_row#slopnator:42fb769c73ec integrity/slopnators/sl_no_barrel#slopnator:42fb769c73ec integrity/slopnators/sl_no_child_process#slopnator:42fb769c73ec integrity/slopnators/sl_no_comment#slopnator:42fb769c73ec integrity/slopnators/sl_no_dispatch_bypass#slopnator:42fb769c73ec integrity/slopnators/sl_no_import_cycle#slopnator:42fb769c73ec integrity/slopnators/sl_no_such_command#slopnator:42fb769c73ec integrity/slopnators/sl_only_takes_a_literal#slopnator:42fb769c73ec integrity/slopnators/sl_secret_literal#slopnator:42fb769c73ec integrity/slopnators/sl_stale_path#slopnator:42fb769c73ec integrity/slopnators/sl_twice_meant#slopnator:42fb769c73ec integrity/slopnators/sl_twice_parented#slopnator:42fb769c73ec integrity/slopnators/sl_undeclared_crossing#slopnator:42fb769c73ec integrity/slopnators/sl_undeclared_destination#slopnator:42fb769c73ec integrity/slopnators/sl_undeclared_element#slopnator:42fb769c73ec integrity/slopnators/sl_undeclared_node#slopnator:42fb769c73ec integrity/slopnators/sl_undeclared_operation#slopnator:42fb769c73ec integrity/slopnators/sl_undeclared_variant#slopnator:42fb769c73ec integrity/slopnators/sl_undescribed#slopnator:42fb769c73ec integrity/slopnators/sl_ungoverned_island#slopnator:42fb769c73ec integrity/slopnators/sl_unkept_rows#slopnator:42fb769c73ec integrity/slopnators/sl_unnamed_island#slopnator:42fb769c73ec integrity/slopnators/sl_unpaired_member#slopnator:42fb769c73ec integrity/slopnators/sl_unpaired_slopnator#slopnator:42fb769c73ec integrity/slopnators/sl_unprefixed_member#slopnator:42fb769c73ec integrity/slopnators/sl_unseamed_reach#slopnator:42fb769c73ec integrity/slopnators/sl_unthreaded#Reach:ee1c5ae840ce integrity/slopnators/sl_unthreaded#Meaning:eb5d28d0d101 integrity/slopnators/sl_unthreaded#here:7186c669fd80 integrity/slopnators/sl_unthreaded#atsIn:2a22e0fd79d4 integrity/slopnators/sl_unthreaded#rowsIn:e0b6bdfd102e integrity/slopnators/sl_unthreaded#Governed:26751a8a4a1c integrity/slopnators/sl_unthreaded#governedBy:7fd12eca7c1b integrity/slopnators/sl_unthreaded#filesGoverned:65cdfbe444d1 integrity/slopnators/sl_unthreaded#foldersGoverned:65cdfbe444d1 integrity/slopnators/sl_unthreaded#governs:a4fad74ada50 integrity/slopnators/sl_unthreaded#Declared:28a6c94b90c6 integrity/slopnators/sl_unthreaded#canonical:74c647d3ad5c integrity/slopnators/sl_unthreaded#islandsDeclared:16048ec0c690 integrity/slopnators/sl_unthreaded#declaresIsland:f3daaa415aee integrity/slopnators/sl_unthreaded#meaningsIn:53683e6a54b6 integrity/slopnators/sl_unthreaded#Index:1768b6501864 integrity/slopnators/sl_unthreaded#index:b914d00e9d0f integrity/slopnators/sl_unthreaded#forget:a3965c1dfabe integrity/slopnators/sl_unthreaded#threaded:2b0e40c55bac integrity/slopnators/sl_unthreaded#parses:df7c6aede8b6 integrity/slopnators/sl_unthreaded#unreadable:cb6cf51129a6 integrity/slopnators/sl_unthreaded#names:0096812bd8bb integrity/slopnators/sl_unthreaded#slopnator:42fb769c73ec integrity/slopnators/sl_untranslated_key#slopnator:42fb769c73ec integrity/slopnators/sl_unversioned#slopnator:42fb769c73ec
83
+ slopnator-shape 8e3b442eeb60 integrity/slopnator#NOT_WRITTEN:5cbef15de1fd integrity/slopnator#SHIPPED:16475c413846 integrity/slopnator#SEEDED:16475c413846 integrity/slopnator#ROOT:16475c413846 integrity/slopnator#DEPTH:776dd91e8911 integrity/slopnator#CEILING:d674d8e65aca integrity/slopnator#SPAWN_TIMEOUT:56358e853eb5 integrity/slopnator#SPAWN_BUFFER:341610e5ed60 integrity/slopnator#nested:f8c2780ce4f6 integrity/slopnator#ran:f51441c5336b integrity/slopnator#SlopnatorContext:d2a635854c3c integrity/slopnator#Spoken:e2c874045414 integrity/slopnator#Proves:0369cb81daa2 integrity/slopnator#Reads:b81a76c9cc9a integrity/slopnator#Reading:76ea63cd70a7 integrity/slopnator#Running:25cbab8e340a integrity/slopnator#Slopnator:ad0ae14e5f13 integrity/slopnator#Visiting:9af67a68f078 integrity/slopnator#reads:e851af39272f integrity/slopnator#visits:6e4f7f5deee8 integrity/slopnator#sweeps:e851af39272f integrity/slopnator#Byproduct:1b8a6fb06159 integrity/slopnator#slopnatorName:c452dd2bdbbc integrity/slopnator#names:637499d76201 integrity/slopnator#governs:91c49fcb7fdf integrity/slopnator#UnloadableSlopnatorError:9028dcb4c5ec integrity/slopnator#UnreadableRulesError:b60942b119f0 integrity/slopnator#load:5eaf126b2fda integrity/slopnator#proofsOf:763e7a5e9da3 integrity/slopnator#scaffold:15de269b224c integrity/slopnator#write:5c9de9c9d484 integrity/slopnator#onDisk:d463041c43a5 integrity/slopnator#named:c6a6a92894dc integrity/slopnator#rules:13ef34c2acc6 integrity/slopnator#seeds:a6a029998d40 integrity/slopnator#GENERALLY:baedbff8be54 integrity/slopnator#declaring:7229d8fb559f integrity/slopnator#declareSeeded:e732adf1e1e2
84
+ store-shape 8e609bb71c20 operations/store#Row:6f5edf17a61c operations/store#ReadField:99e67343fe70 operations/store#FieldList:83120b2166e7 operations/store#Store:3e01b6e1529c
85
+ sweep-walk 83bcc5789ddf integrity/sweep#visit:9b8811eccd92 integrity/sweep#Caught:5b4dba207f58 integrity/sweep#tracked:d463041c43a5 integrity/sweep#sweep:203bb756c522
86
+ target-shape b84279e9c124 integrations/target#REACH:d67ce859bd20 integrations/target#Reach:28718a29ebbb integrations/target#Holds:3f089a7d097d integrations/target#HOLDS:191fd51c8c5e integrations/target#SAID:cbb49ee60a17 integrations/target#Target:cd7add90c09a integrations/target#Call:e73d9c0eea06 integrations/target#CALL_PREFIX:471df1e09d10 integrations/target#fills:ebc8be09b0a4 integrations/target#reachOf:20d02de80d4c integrations/target#holdsOf:901a78c9a0d2 integrations/target#driverOf:6e977f406f5c integrations/target#addressOf:586d8e0c699d integrations/target#credentialsOf:cba586002fb2 integrations/target#servesBrowser:88b5a2eb80b0 integrations/target#unreachable:3fd2b82d0e99 integrations/target#misnamed:b92bbf30de70 integrations/target#misaccepted:4bb2e3fb0b7d integrations/target#unaddressed:2dff7cf19161 integrations/target#unheld:2dff7cf19161 integrations/target#unanswered:a6d304c26fd3 integrations/target#misused:a862396be9da integrations/target#refusals:1ef6b385d6a5 integrations/target#targetOf:822f8d420b17
87
+ tree 8ba28742dd62 core/tree#Tree:8f338d863404 core/tree#UnthreadedRepositoryError:4b99a1568c11 core/tree#findTree:49ec72a1c670 core/tree#strayFiles:495876581332 core/tree#inTree:9763add68f9f
88
+ trial-runner 35efe3b60730 operations/generators/trial#TRIALS_AT:48cf5b1696fb operations/generators/trial#Scenario:3fb86a665229 operations/generators/trial#Trial:a74a67ac5861 operations/generators/trial#Outcome:0b6ac6861c30 operations/generators/trial#Run:4064695a5df2 operations/generators/trial#runScenario:87292e8d5ec7 operations/generators/trial#scenariosFor:807a80dc6acb operations/generators/trial#compared:c81d29fd44b2 operations/generators/trial#unproven:27bd1e31789b operations/generators/trial#record:2ba585ade9fe
89
+ trial-writer eccd99450bfc integrity/generators/trial#TRIALS_PATH:16475c413846 integrity/generators/trial#Scenario:cec489475009 integrity/generators/trial#Trial:0ed5a9870dc8 integrity/generators/trial#Derivation:5542c019485a integrity/generators/trial#Outcome:4a336cfdb388 integrity/generators/trial#Run:4064695a5df2 integrity/generators/trial#probeAt:cbd1b8bbcf00 integrity/generators/trial#deriveTrials:801b86fffdcc integrity/generators/trial#trialsByproduct:a161332a7bcc integrity/generators/trial#runTrial:9d8f24783d10 integrity/generators/trial#runTrials:0b4ce7fbb41d
90
+ types 5279aefa98bb core/types#VALUE_TYPES:5805701a32cd core/types#ValueType:de0a55f12333 core/types#KEYBOARDS:30577ae2564c core/types#Keyboard:0f9fcadff185 core/types#ENTRY_MODES:0933f2a0cad7 core/types#EntryMode:619a8cf61463 core/types#Checked:3be2f12a6aae core/types#held:ecda2d49d546 core/types#refused:6c4e70ea8940 core/types#Facts:f94c9b180191 core/types#Format:f0fc652558a7 core/types#stripControl:ffc10711842d core/types#BOUNDED:ae1a8dd96249 core/types#FORMATS:a879ae389a3c core/types#formatsOf:1dda69cdbc5b core/types#formatNamed:2007301c8e1b core/types#plainFormat:f683a8a755a5 core/types#formatFor:36746cc1a7ad core/types#checkValue:c4d6bf4e05e4 core/types#showValue:68bfeaa86be4
91
+ vault-writer 68110e118832
92
+ -->
93
+
94
+ ## 0.1.0
95
+
96
+ something it shipped is gone or is not the shape it was, so taking this one can stop your code compiling.
97
+
98
+ ### Renamed
99
+
100
+ - `core/asking#RECEIPT` is now `core/answers#RECEIPT` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
101
+ - `core/asking#ENDS` is now `core/answers#ENDS` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
102
+ - `core/asking#FROM` is now `core/answers#FROM` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
103
+ - `core/asking#CHAINED` is now `core/answers#CHAINED` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
104
+ - `core/asking#BODY` is now `core/answers#BODY` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
105
+ - `core/asking#WRITES` is now `core/answers#WRITES` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
106
+ - `core/asking#asFlag` is now `core/answers#asFlag` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
107
+ - `core/asking#refuse` is now `core/answers#refuse` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
108
+ - `core/asking#slug` is now `core/answers#slug` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
109
+ - `core/asking#within` is now `core/answers#within` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
110
+ - `core/asking#parsed` is now `core/answers#parsed` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
111
+ - `core/asking#scoped` is now `core/answers#scoped` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
112
+ - `core/asking#Asked` is now `core/answers#Asked` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
113
+ - `core/asking#Said` is now `core/answers#Said` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
114
+ - `core/asking#named` is now `core/answers#named` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
115
+ - `core/asking#prompted` is now `core/answers#prompted` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
116
+ - `core/asking#Given` is now `core/answers#Given` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
117
+ - `core/asking#Child` is now `core/answers#Child` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
118
+ - `core/asking#Stated` is now `core/answers#Stated` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
119
+ - `core/asking#mapped` is now `core/answers#mapped` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
120
+ - `core/asking#ownAnswers` is now `core/answers#ownAnswers` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
121
+ - `core/asking#stating` is now `core/answers#stating` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
122
+ - `core/asking#arrayValue` is now `core/answers#arrayValue` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
123
+ - `core/asking#gathered` is now `core/answers#gathered` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
124
+ - `core/asking#rowLines` is now `core/answers#rowLines` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
125
+ - `core/asking#withChildren` is now `core/answers#withChildren` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
126
+ - `core/asking#childrenIn` is now `core/answers#childrenIn` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
127
+ - `core/asking#seeding` is now `core/answers#seeding` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
128
+ - `core/asking#children` is now `core/answers#children` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
129
+ - `core/asking#bodied` is now `core/answers#bodied` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
130
+ - `core/asking#answer` is now `core/answers#answer` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
131
+ - `core/asking#accepted` is now `core/answers#accepted` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
132
+ - `core/asking#needed` is now `core/answers#needed` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
133
+ - `core/asking#wrapped` is now `core/answers#wrapped` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
134
+ - `core/asking#marked` is now `core/answers#marked` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
135
+ - `core/asking#Told` is now `core/answers#Told` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
136
+ - `core/asking#Declared` is now `core/answers#Declared` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
137
+ - `core/asking#declared` is now `core/answers#declared` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
138
+ - `core/asking#nouns` is now `core/answers#nouns` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
139
+ - `core/asking#asking` is now `core/answers#asking` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
140
+ - `core/asking#given` is now `core/answers#given` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
141
+ - `core/asking#handed` is now `core/answers#handed` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
142
+ - `core/asking#CARRIED` is now `core/answers#CARRIED` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
143
+ - `core/asking#wordsIn` is now `core/answers#wordsIn` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
144
+ - `core/asking#credentialIn` is now `core/answers#credentialIn` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
145
+ - `integrity/slopnator#Sourced` is now `integrity/constraint#Sourced` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
146
+ - `integrity/slopnator#Proof` is now `integrity/constraint#Proof` — it exports exactly what it exported before. `thread upgrade --fix` rewrites every import of it for you.
147
+
148
+ ### Removed
149
+
150
+ - `asking` — anything importing it stops resolving, and nothing here can rewrite that call for you.
151
+ - `capability-maker` — anything importing it stops resolving, and nothing here can rewrite that call for you.
152
+ - `cli` — anything importing it stops resolving, and nothing here can rewrite that call for you.
153
+ - `generator-writer` — anything importing it stops resolving, and nothing here can rewrite that call for you.
154
+ - `grant-maker` — anything importing it stops resolving, and nothing here can rewrite that call for you.
155
+ - `meta-maker` — anything importing it stops resolving, and nothing here can rewrite that call for you.
156
+ - `operation-maker` — anything importing it stops resolving, and nothing here can rewrite that call for you.
157
+ - `release-maker` — anything importing it stops resolving, and nothing here can rewrite that call for you.
158
+ - `rule-writer` — anything importing it stops resolving, and nothing here can rewrite that call for you.
159
+ - `seal` — anything importing it stops resolving, and nothing here can rewrite that call for you.
160
+ - `seal-writer` — anything importing it stops resolving, and nothing here can rewrite that call for you.
161
+ - `secret-maker` — anything importing it stops resolving, and nothing here can rewrite that call for you.
162
+ - `skills-writer` — anything importing it stops resolving, and nothing here can rewrite that call for you.
163
+ - `target-maker` — anything importing it stops resolving, and nothing here can rewrite that call for you.
164
+ - `trial-maker` — anything importing it stops resolving, and nothing here can rewrite that call for you.
165
+
166
+ ### Changed
167
+
168
+ - `constraint-shape` — `integrity/constraint#Constraint` is not the shape it was. Code holding it to the old one stops compiling.
169
+ - `slopnator-shape` — `integrity/slopnator#BrokenSealError` is not the shape it was. Code holding it to the old one stops compiling.
170
+ - `slopnator-shape` — `integrity/slopnator#unsealed` is not the shape it was. Code holding it to the old one stops compiling.
171
+ - `slopnator-shape` — `integrity/slopnator#verify` is not the shape it was. Code holding it to the old one stops compiling.
172
+
173
+ ### Gained
174
+
175
+ - `answers`
176
+ - `chat`
177
+ - `files`
178
+
179
+ ### Added
180
+
181
+ - `constraint-shape` now exports `integrity/constraint#shown`.
182
+ - `descend` now exports `core/descend#ROW_LISTS`.
183
+ - `descend` now exports `core/descend#hosting`.
184
+ - `init` now exports `core/init#manager`.
185
+ - `rows` now exports `core/rows#valuesIn`.
186
+ - `rows` now exports `core/rows#unread`.
187
+ - `slopnator` now exports `integrity/slopnators/sl_unthreaded#canonical`.
188
+
189
+ ### Fixed
190
+
191
+ - `attach` — its code moved and what it exports did not.
192
+ - `build-writer` — its code moved and what it exports did not.
193
+ - `capability-writer` — its code moved and what it exports did not.
194
+ - `chain` — its code moved and what it exports did not.
195
+ - `compile-writer` — its code moved and what it exports did not.
196
+ - `compiler-scope` — its code moved and what it exports did not.
197
+ - `core-attach` — its code moved and what it exports did not.
198
+ - `core-dispatch` — its code moved and what it exports did not.
199
+ - `derivation-attach` — its code moved and what it exports did not.
200
+ - `descent-check` — its code moved and what it exports did not.
201
+ - `docs-writer` — its code moved and what it exports did not.
202
+ - `gate-writer` — its code moved and what it exports did not.
203
+ - `glossary-writer` — its code moved and what it exports did not.
204
+ - `http` — its code moved and what it exports did not.
205
+ - `integrations-attach` — its code moved and what it exports did not.
206
+ - `integrity-attach` — its code moved and what it exports did not.
207
+ - `invoked` — its code moved and what it exports did not.
208
+ - `knowledge-attach` — its code moved and what it exports did not.
209
+ - `lint` — its code moved and what it exports did not.
210
+ - `lsp-diagnostics` — its code moved and what it exports did not.
211
+ - `lsp-lint` — its code moved and what it exports did not.
212
+ - `module` — its code moved and what it exports did not.
213
+ - `operations-attach` — its code moved and what it exports did not.
214
+ - `permits-writer` — its code moved and what it exports did not.
215
+ - `publish-writer` — its code moved and what it exports did not.
216
+ - `read-command` — its code moved and what it exports did not.
217
+ - `release-writer` — its code moved and what it exports did not.
218
+ - `sealed-store` — its code moved and what it exports did not.
219
+ - `seed-writer` — its code moved and what it exports did not.
220
+ - `sweep-walk` — its code moved and what it exports did not.
221
+ - `tree` — its code moved and what it exports did not.
222
+ - `trial-runner` — its code moved and what it exports did not.
223
+ - `trial-writer` — its code moved and what it exports did not.
224
+ - `vault-writer` — its code moved and what it exports did not.
225
+
226
+ <!-- release 0.1.0 -->
227
+ <!-- holds
228
+ actor 1158f4aff155 core/actor#Env:e97761857593 core/actor#ENVIRONMENT:775159e22117 core/actor#Environment:0e63440f7ed9 core/actor#Actor:da6a0a4f6d1a core/actor#PUBLIC_ROLE:0708d38af082 core/actor#ANONYMOUS:7aac93520d5f
229
+ answers 1505a96bd136 core/answers#RECEIPT:ad72fbad0fea core/answers#ENDS:5bfccdcd5f7b core/answers#FROM:3c837e3dc08c core/answers#CHAINED:7b13c9b1e786 core/answers#BODY:70a4b97be2fd core/answers#WRITES:9d735ee4d4d2 core/answers#asFlag:25c52264bada core/answers#refuse:7ee262649b02 core/answers#slug:492099384a1e core/answers#within:fbafe944704a core/answers#parsed:58c428b43692 core/answers#scoped:64ce8910f514 core/answers#Asked:c6b95d4b0313 core/answers#Said:1cd114f6023d core/answers#named:a6168ca8e40e core/answers#prompted:303760ba8ed7 core/answers#Given:822297d6d75d core/answers#Child:90dc57be460c core/answers#Stated:0cac88b17ea4 core/answers#mapped:c8ed361b963a core/answers#CARRIES:4de2138e3a11 core/answers#ownAnswers:5c97ca968c6a core/answers#stating:b2ce474816f4 core/answers#arrayValue:9f39f3dd60e0 core/answers#asMap:6bdf1b65f804 core/answers#gathered:6a67d2ba59f9 core/answers#asBoolean:6bdf1b65f804 core/answers#rowLines:10e03b28721b core/answers#withChildren:0ce71de61a5d core/answers#childrenIn:19bb201f22a9 core/answers#BODIED:4de2138e3a11 core/answers#WRITTEN:4de2138e3a11 core/answers#seeding:0ddd814882ea core/answers#children:dcb6ef22379a core/answers#bodied:8f27f5a33d0b core/answers#only:76c6877b3914 core/answers#unasked:76c6877b3914 core/answers#answer:530c0e6a2fb3 core/answers#accepted:6c42249c541b core/answers#needed:76e936a60d64 core/answers#wrapped:0e03558213e5 core/answers#marked:ca0a5bc98816 core/answers#Told:34b9cab8ecec core/answers#Declared:14a1629c6c7c core/answers#declared:ed8c4d1f12f8 core/answers#nouns:b82da6d91e26 core/answers#asking:03631e356039 core/answers#answered:f8c2780ce4f6 core/answers#given:538c4f41ef3f core/answers#handed:65fda728778f core/answers#TYPED:2514d79dbd06 core/answers#CARRIED:5484dfc0086a core/answers#wordsIn:b2bbc3c780aa core/answers#credentialIn:4aa89e8da0ca
230
+ attach aa436693eb3b core/attach#packageOf:95b5fff25591 core/attach#Appending:a9e0459b54b9 core/attach#Writing:be521774d91f core/attach#Attaching:ddd89d438b94 core/attach#UnattachableError:c0915e9e2ee4 core/attach#StillADependencyError:92c932b34a0a core/attach#StillDeclaredError:055509e3ed65 core/attach#DependencyRingError:2efe6ca0a2a5 core/attach#TakenFileError:58b4ac596857 core/attach#UnthreadedError:cb4f87163654 core/attach#attaches:253b1b546924 core/attach#behind:35e21849c546 core/attach#attach:dbf8043d1045 core/attach#detach:90e9cd60ecd5 core/attach#ATTACH:8b0b999ca5c9
231
+ build-writer 2b75de749c75 derivation/generators/build#declared:f833228cb868 derivation/generators/build#wanted:ca9066873bf3
232
+ capability-writer 4b05ab6f2a71 operations/generators/capability#derive:0c14fda3eab7
233
+ chain 5874fb98cedf core/chain#generators:714b6bd5de71 core/chain#offers:6dadb72b44b4 core/chain#RAN:8720636fbac7 core/chain#REFUSED_BY:3eae304480a7 core/chain#batched:97a8754eeaf1 core/chain#settling:ca839ad0fbd3
234
+ chat cccf9ff81e1a core/client#Order:2fbc2a657a5e core/client#Answered:12d1c491de3b core/client#carry:195e0b500972 core/client#Turn:9511ce9881bf core/client#talking:2e5cc219170b core/client#run:4e6b10dd11a7
235
+ compile-writer 940eb3474def operations/generators/compile#parts:a2c39cf9feb9 operations/generators/compile#compile:2fb552595d35
236
+ compiler-scope 983a6acaf91d
237
+ condition 8b98d66b28cf core/condition#COMPARE_OPS:060d4cd76a07 core/condition#CompareOp:97849b9d273e core/condition#AGGREGATIONS:f473b52068e2 core/condition#ACTOR_FACTS:eb34541ae96c core/condition#AGO:09aa52ab5287 core/condition#Operand:451f00cec049 core/condition#Condition:29dadf7cfd50 core/condition#walkOperands:9aa17730b2ab core/condition#mentionsActor:793e52b424e1 core/condition#agoSeconds:5d4cb8909c84 core/condition#satisfies:32daa43a97f3 core/condition#CONDITION_ANSWERS:82b841e712b2 core/condition#conditioned:3b65b55a7c83 core/condition#said:d7feb19d07d8
238
+ constraint-shape 3e9cbe40d847 integrity/constraint#Sourced:7a4a750b4216 integrity/constraint#Proof:ed7d660baa12 integrity/constraint#shown:6522e6fa1dbf integrity/constraint#Constraint:fc25230385f4 integrity/constraint#CONSTRAINTS:a99a22a9f325
239
+ core-attach aa436693eb3b core/attach#packageOf:95b5fff25591 core/attach#Appending:a9e0459b54b9 core/attach#Writing:be521774d91f core/attach#Attaching:ddd89d438b94 core/attach#UnattachableError:c0915e9e2ee4 core/attach#StillADependencyError:92c932b34a0a core/attach#StillDeclaredError:055509e3ed65 core/attach#DependencyRingError:2efe6ca0a2a5 core/attach#TakenFileError:58b4ac596857 core/attach#UnthreadedError:cb4f87163654 core/attach#attaches:253b1b546924 core/attach#behind:35e21849c546 core/attach#attach:dbf8043d1045 core/attach#detach:90e9cd60ecd5 core/attach#ATTACH:8b0b999ca5c9
240
+ core-capabilities bff70eb471ce operations/capabilities#SURFACES:0ba37ce5c567 operations/capabilities#Surface:f6edd9874bdb operations/capabilities#isSurface:b576dba589f2 operations/capabilities#CAPABILITIES_AT:b837276e2b3f operations/capabilities#CLIENT_AT:69106f1a9d39 operations/capabilities#DISPATCHING_AT:79217c5a5a98 operations/capabilities#routeAt:b80bb4b90b70 operations/capabilities#ROUTE:c96616878285 operations/capabilities#SEAMS_AT:b4084bbddbf6 operations/capabilities#DECLARED_SEAMS_AT:3b21ab4c0bec operations/capabilities#OPENAPI_AT:d6b86d9cb07d operations/capabilities#MCP_AT:5b46a2eec16c operations/capabilities#Capability:6c442d0f9e02 operations/capabilities#reachable:40d77d9b3ba7 operations/capabilities#switched:a654a4b88939
241
+ core-dispatch 64a13a05c44a operations/dispatch#DISPATCH_AT:4e8f2c0639bf operations/dispatch#dispatched:f2f582240655
242
+ core-seams b55bc36cec98 operations/seams#FieldList:79618cc918ab operations/seams#ReadField:6c71c3b0a8a2 operations/seams#Row:95110d74c4c0 operations/seams#Store:ee7da936b5cb operations/seams#Span:d05875ec2d38 operations/seams#Telemetry:8e399e3e32a8 operations/seams#PropertyValue:4885bb975ac1 operations/seams#LogLevel:d774edbc0c9d operations/seams#Log:3f011b7815e2 operations/seams#AuditRecord:2cc1f3856bc6 operations/seams#Audit:99bdcff4cecb operations/seams#ErrorRecord:5e0632ae2b01 operations/seams#Errors:d2b92756323e operations/seams#Search:8cdfae2bb77c operations/seams#Views:9abc82661c09 operations/seams#Cost:5945c7bf7996 operations/seams#Idempotency:a65d14aecfe8 operations/seams#PlatformEvent:acef749a5750 operations/seams#EventBus:67a20231bed5 operations/seams#RateLimiter:c7ae85ae381b operations/seams#FeatureGate:ced4c1631ced operations/seams#QuotaHold:06d12b02b59f operations/seams#Quotas:0d4e6476a330 operations/seams#Outbox:3d0c2c1b0e6c operations/seams#Transactional:c8d08d0622c4 operations/seams#isTransactional:1170f66cd9b8 operations/seams#Job:fa585efcd85d operations/seams#EnqueueOpts:36f99ec0ff29 operations/seams#SchedulerSeam:6beee88125a9 operations/seams#Queue:5a439c3efb9d operations/seams#Files:92f283c3a7ed operations/seams#Clock:ec46770f7fa1 operations/seams#Random:8d2b2b13490b operations/seams#HttpMethod:52ada6a3365a operations/seams#HttpRequest:316f3a88a0fa operations/seams#HttpResponse:eb30d7e88cd7 operations/seams#Http:bc39e49d79a7 operations/seams#Vault:8dc7e8d666b8 operations/seams#Seams:6cde63c94c7b operations/seams#AuditOutcome:6e2de5ccf312 operations/seams#isRow:539dcd1c4a4b operations/seams#SUPPLY:aff5fe72a644 operations/seams#Supplied:b7223025057f operations/seams#SUPPLIES:848c71497c27 operations/seams#supplies:41f6b29fc1d7 operations/seams#Handed:3804007c9616 operations/seams#Reads:d75d51b7a366 operations/seams#SAID:371cb1a21c0b
243
+ cost 87ed92ed773f operations/cost#CostAmount:7468370fb473 operations/cost#InvalidCostError:ed1ead132642 operations/cost#assertValidCost:1741b6745c98 operations/cost#MICRO_CENTS_PER_CENT:9cdec51a2064 operations/cost#MICRO_CENTS_PER_UNIT:e9e877a0315d operations/cost#toMicroCents:1abcf41a972e operations/cost#fromMicroCents:685e3195301a
244
+ derivation-attach 53d5712deff4 derivation/attach#ATTACH:8b0b999ca5c9
245
+ derived-check fb51b1b9949e derivation/generators/check#CheckStatus:3d5184654de8 derivation/generators/check#FileCheck:5fc2fc17d9dc derivation/generators/check#CheckReport:0a85b0b7a552 derivation/generators/check#ReadFile:bfe47da3146a derivation/generators/check#CheckOptions:12047b27ac13 derivation/generators/check#checkGenerated:303b484f0191 derivation/generators/check#formatCheckReport:f1ffd8d71128 derivation/generators/check#detectHandEdits:4cb9374c9dec
246
+ descend 443ba2821aa7 core/descend#ROOT:16475c413846 core/descend#TREE:16475c413846 core/descend#THREAD_AT:16475c413846 core/descend#unkept:c4b11ba631c2 core/descend#LISTS:2fdc0678a755 core/descend#ROW_LISTS:c9d0aa651f7b core/descend#Row:b97aa507e223 core/descend#Pass:6d224c4baa3b core/descend#Finding:59d032ea6dfc core/descend#under:9d2961e6c891 core/descend#sources:3ccbfc44dc32 core/descend#configured:08dd6fe94449 core/descend#hosting:03773213bb0d core/descend#uncompiled:e6cc5d02da1f core/descend#read:5b91d50130a7 core/descend#shapesNamed:b7e8c501d5a3 core/descend#threading:4203b54a8ba4 core/descend#shapeFields:0c9cc3794ffb core/descend#Field:c0aa1cfe8f06 core/descend#listShape:de887cd9f0d5 core/descend#listFields:64024e47360b core/descend#rowShape:de887cd9f0d5 core/descend#nodesIn:0e1ab44ef9ff core/descend#reached:3ccbfc44dc32 core/descend#forget:a3965c1dfabe core/descend#descend:cb2c0f44b0be
247
+ descent-check 832428fb4257 integrity/check-threads#ROOT:fed419935721 integrity/check-threads#THREAD_AT:ad73a49b2e42 integrity/check-threads#TREE:b1b38c62f173 integrity/check-threads#descend:e424ec88ff49 integrity/check-threads#Finding:59d032ea6dfc integrity/check-threads#Pass:ebdf8cc00bc4 integrity/check-threads#trackedFiles:3ccbfc44dc32 integrity/check-threads#unthreaded:461b6e326ac7 integrity/check-threads#twiceParented:e96bea943ec4 integrity/check-threads#refusals:f9f72d575f28
248
+ determinism 8ecb9f16de37 derivation/generators/determinism#GeneratedFile:1f5dc83a87cd derivation/generators/determinism#sortedBy:f08908497eb1 derivation/generators/determinism#compare:8ad383dc8043 derivation/generators/determinism#sortedEntries:61aff6982b60 derivation/generators/determinism#bodyHash:155def245510 derivation/generators/determinism#withHeader:1561e9fea045 derivation/generators/determinism#ParsedFile:078b3aa626c3 derivation/generators/determinism#parseGenerated:e4beb7be1f99 derivation/generators/determinism#lines:c0f235ccf1c6 derivation/generators/determinism#tsString:8a273616993f derivation/generators/determinism#stableJson:5d314875cc3d derivation/generators/determinism#pascal:ff8fa0760be2 derivation/generators/determinism#camel:ff8fa0760be2
249
+ docs-writer 570e6780eda4
250
+ error-catalogue 323b27012113 operations/errors/errors#AuthUnauthenticated:efe1c4495acd operations/errors/errors#AuthInvalidCredentials:78c8ac04edfa operations/errors/errors#AuthTokenExpired:09f338e4fa9c operations/errors/errors#AuthTokenReused:a6ee5d2590ae operations/errors/errors#AuthSessionRevoked:31ae42fb304b operations/errors/errors#AuthDenied:8bd7f35c2192 operations/errors/errors#QuotaExceeded:2ee1b4da66bb operations/errors/errors#QuotaReservationExpired:195ca4d39488 operations/errors/errors#RateLimitExceeded:e3c5bae10db0 operations/errors/errors#FeatureNotInPlan:02d960158154 operations/errors/errors#DbNotFound:c80df414abde operations/errors/errors#DbConstraintViolation:f20bfe23677d operations/errors/errors#DbAlreadyExists:1659ca78ef51 operations/errors/errors#DbConflict:5e3c0084ac87 operations/errors/errors#DbMigrationChecksumMismatch:7b9113d9eafe operations/errors/errors#DbDestructiveWithoutDryRun:a1ce04f34fb3 operations/errors/errors#DbRoundTripBudgetExceeded:cc4bcf352de8 operations/errors/errors#DbCursorInvalid:ae1ad9dacc04 operations/errors/errors#DbCursorExpired:f734ef6c97e2 operations/errors/errors#WorkflowNodeFailed:9b71b0d7df6a operations/errors/errors#WorkflowInvalidTransition:c2935cfd62ac operations/errors/errors#WorkflowCompensationFailed:8c46fd5021a7 operations/errors/errors#WorkflowAlreadyRunning:803771837def operations/errors/errors#QueueJobFailed:9e75ac4a95dc operations/errors/errors#QueueDlqExhausted:653b172661e0 operations/errors/errors#AiProviderUnavailable:9fa5029e7c23 operations/errors/errors#AiSchemaValidationFailed:bac21b21dd5f operations/errors/errors#AiToolNotInMask:f1094ae55f3a operations/errors/errors#AiNodeCapExceeded:bfda86c86c1e operations/errors/errors#SearchIndexFailed:5072fdb59687 operations/errors/errors#SearchQueryInvalid:8a4dba37426b operations/errors/errors#CommsChannelKindUndeclared:83f32dfa817c operations/errors/errors#CommsChannelKindUndescribed:6c8ef4986048 operations/errors/errors#CommsChannelKindUnlabelled:0aecc153fdb5 operations/errors/errors#CommsChannelKindUndocumented:2ab2e6e474de operations/errors/errors#CommsChannelKindDuplicate:eab3af8aa962 operations/errors/errors#ConfigInvalid:57ee9146b818 operations/errors/errors#ConfigMissingEnv:96be147c6d60 operations/errors/errors#ConfigSecretInPublicVar:4e2bfd6f0bc7 operations/errors/errors#ConfigCredentialInvalid:2ab584c6c640 operations/errors/errors#ConfigScopeMissing:4cf53afc238f operations/errors/errors#ConfigResourceNotFound:4da2eb95eab7 operations/errors/errors#ConfigDestinationIncompatible:47ea1edf0a90 operations/errors/errors#ConfigBlocksExit:85dc23c3211d operations/errors/errors#NetTimeout:eb4a1bf6384b operations/errors/errors#NetUpstreamUnavailable:1083c6f7c7a4 operations/errors/errors#NetDestinationRefused:ea64fa761003 operations/errors/errors#InternalUnexpected:d23fea6e526a operations/errors/errors#InternalNotImplemented:d30dbed4f6eb operations/errors/errors#InternalInvalidArgument:08e137b263a3 operations/errors/errors#PLATFORM_ERRORS:9700124c67a7 operations/errors/errors#PlatformErrorCode:8f4f69419324
251
+ error-classes 9e5a171ecfc9 operations/errors/classes#ErrorClassDef:f86478155103 operations/errors/classes#ERROR_CLASSES:edfbdd775e5f operations/errors/classes#ErrorClass:76fd5e188a3d operations/errors/classes#ERROR_CLASS_NAMES:74c194ba25bd operations/errors/classes#classDef:7d0a82d47941
252
+ error-namespaces b1c1cde59fe2 operations/errors/catalog#NAMESPACES:b5a6079ad39a operations/errors/catalog#Namespace:605585a58c10 operations/errors/catalog#ErrorCode:9c332e778de1 operations/errors/catalog#ErrorDef:7cbf5075cdfe operations/errors/catalog#DefineErrorInput:26ba65e1ba53 operations/errors/catalog#PlatformErrorInit:46fb5f54ad40 operations/errors/catalog#PlatformError:cb9f313b940e operations/errors/catalog#isPlatformError:54c7e704b130 operations/errors/catalog#ErrorFactory:ac8e16652a4c operations/errors/catalog#DuplicateErrorCodeError:c2e0d4b9a453 operations/errors/catalog#ErrorCatalog:2d6513801aad operations/errors/catalog#catalog:6f8193fbf011 operations/errors/catalog#defineError:b63127ff92f5
253
+ error-results 964e86677bba operations/error-results#errorDefForResult:d20408abb638 operations/error-results#platformErrorForResult:cfa19576d3d2
254
+ files 55c6ae2569c9 core/files#Kind:8f9d1230cc55 core/files#Listed:60ef88b9766a core/files#Measured:ba8fd66caf68 core/files#Answering:441433bdfe93 core/files#answeredBy:048634b28e56 core/files#attached:f8c2780ce4f6 core/files#kind:485fa3d1c1c6 core/files#existsSync:219e8de5f523 core/files#readFileSync:84627dee3e2a core/files#writeFileSync:16acc950adf3 core/files#Named:a490c22afabe core/files#readdirSync:2fab39d45004 core/files#Held:488919ee8a4c core/files#statSync:658893a15fb6 core/files#rmSync:92d8fa578550 core/files#renameSync:9c9fbadb45e6 core/files#appendFileSync:ecfd24b4e865 core/files#realpathSync:626005f54fe3
255
+ finding da4a559b20fe core/finding#Finding:180d780f4cd9 core/finding#forbids:019885a2a7da core/finding#runChecker:bea68acae26f
256
+ gate-writer 87f7e5dccd85
257
+ glossary-shape 8e609bb71c20 knowledge/glossary#Glossary:e30f4c6fe581
258
+ glossary-writer eed49268c05d
259
+ grant-shape c1126bdba365 operations/access#PERMITS_AT:747bdea9514c operations/access#declaredWords:5a76b6349900 operations/access#undeclared:f8a1498208ca operations/access#Grant:e7cec0376200 operations/access#opensToEverybody:10368b21fa22 operations/access#grantedTwice:563aa26b055e operations/access#unanswerable:563aa26b055e
260
+ http 4d02453ead9c operations/http#HTTP_CALL_ACTION:b90d08fc2104 operations/http#HttpNotConfiguredError:cb4f87163654 operations/http#OutwardTransportError:b169a7a9de9a operations/http#outwardUrl:ab5ee055ae1c operations/http#HttpSeamOptions:2b40e572dfe0 operations/http#httpSeam:326f43bc4293 operations/http#RecordedCall:318c0983fea1 operations/http#ScriptedAnswer:9f4273f0ade9 operations/http#recordingHttp:fd20bbaaa194
261
+ init 54bcb9c58d12 core/init#TREE:0b34eb8c6947 core/init#ROOT:23a226909662 core/init#AlreadyThreadedError:6b783660d574 core/init#COMPILER:09b3efa678f5 core/init#LOCKFILES:a1d5650d1995 core/init#manager:8121415e87a8 core/init#MANIFEST:495fdf585250 core/init#REGISTRY:16475c413846 core/init#IGNORED:16475c413846 core/init#ignored:15de269b224c core/init#compiler:15de269b224c core/init#root:383996e16a82 core/init#init:8121415e87a8
262
+ integrations-attach 46f59682fb79 integrations/attach#CONCEPTS:0e6daa92601c integrations/attach#ATTACH:8b0b999ca5c9
263
+ integrity-attach 068a087cb99a integrity/attach#ATTACH:8b0b999ca5c9
264
+ invoked acc9518b7dd3 core/invoked#invoked:9133dcc091f3 core/invoked#SOURCE:e43353c41f9b core/invoked#BESIDE:95b5fff25591 core/invoked#LOADER:4de2138e3a11 core/invoked#CLI:4de2138e3a11 core/invoked#REFUSED:5cbef15de1fd core/invoked#shared:8c2d4d3f7d5b core/invoked#exit:a631d3ee5cd5 core/invoked#refusal:51d097295f50
265
+ issues-writer 21cd7349d337
266
+ knowledge-attach 3b761e8e2ede knowledge/attach#ATTACH:8b0b999ca5c9
267
+ lint 5f1b545753b1 integrity/lint#ruleMessage:cbd1b8bbcf00 integrity/lint#agentInstructions:3ccbfc44dc32 integrity/lint#defineRule:d391a4a1f3aa integrity/lint#defineRules:8bfd1bf6cfa5 integrity/lint#ruleRule:466d7d9ccaa3 integrity/lint#ruleRules:b7cc8a626183 integrity/lint#ruleSeverities:4506861e89ae integrity/lint#plugin:948c4ffe9079 integrity/lint#default:af79bdaf6dee integrity/lint#rules:f3a0aef9ed97 integrity/lint#ruleDeclarations:30516a9f1aa2 integrity/lint#RuleViolation:31a1a1e48e80 integrity/lint#RuleRunner:bbf72f90b110 integrity/lint#theRules:89139ffca783
268
+ lsp-bin b71d5da40c13
269
+ lsp-diagnostics 3ebe001dc037 integrity/lsp/diagnostics#DiagnosticSource:d08c813cf00a integrity/lsp/diagnostics#repoSource:dff5c2ce8d38 integrity/lsp/diagnostics#ERROR:d674d8e65aca integrity/lsp/diagnostics#WARNING:00a4f8869ab3 integrity/lsp/diagnostics#Position:46e0a3561d8b integrity/lsp/diagnostics#Diagnostic:ae6f64604dbe integrity/lsp/diagnostics#SOURCE_NAME:2514d79dbd06 integrity/lsp/diagnostics#toDiagnostic:fcae9032abb1 integrity/lsp/diagnostics#report:0dbedc0cd91b
270
+ lsp-findings 72f7d80645c0 integrity/lsp/findings#At:f235cb016ba3 integrity/lsp/findings#Finding:7d5c3a039f29 integrity/lsp/findings#detailOf:c2c587190fb0 integrity/lsp/findings#anchorIn:a250e5899ebf integrity/lsp/findings#locate:3793c6d451b7 integrity/lsp/findings#headOf:1a535cdf8f10 integrity/lsp/findings#rangeOf:f398dcb2f343
271
+ lsp-lint 878c49092e19 integrity/lsp/lint#isLintable:fd3e0e886f7d integrity/lsp/lint#LINT_CONFIG:82d55ccf289a integrity/lsp/lint#LintUnavailableError:f8f16a4068e3 integrity/lsp/lint#lintFindings:8fa9b43d2fa3
272
+ lsp-protocol d0ad8650307b integrity/lsp/protocol#RpcMessage:50bff985f883 integrity/lsp/protocol#METHOD_NOT_FOUND:ada3d6776590 integrity/lsp/protocol#encode:f00f8f2ab7bb integrity/lsp/protocol#MalformedMessageError:f8f16a4068e3 integrity/lsp/protocol#MessageBuffer:b1e528cf49fb
273
+ lsp-server a9f76280e395 integrity/lsp/server#ServerOptions:b2f4aaebe993 integrity/lsp/server#LspServer:5fa4c9448c6f
274
+ memory-seams 81354a470e2a operations/memory#UnknownColumnError:8b199b2bd819 operations/memory#VersionConflictError:4dc97c0f0896 operations/memory#MemoryStore:03b0fda2730d operations/memory#MemoryQueue:bbba236f590f operations/memory#Sink:4022c6709cbe operations/memory#MemoryIdempotency:75c2203e95f1 operations/memory#MemorySeamOptions:de2c0a77234f operations/memory#memoryVault:195dfbde5938 operations/memory#arrived:48096ac6d41e operations/memory#fresh:fe77a4ba7172 operations/memory#inMemorySeams:2ce1a7e07792
275
+ metering 3f4101335989 operations/metering#ActionBudget:f1d9d077152c operations/metering#WriteAmplification:fc8c12c4c74c operations/metering#DatabaseUsage:dec3f4c15d28 operations/metering#RoundTripBudgetExceededError:fd70c48cce7a operations/metering#BUDGET_EXCEEDED_BECAUSE:62517f9e87d5 operations/metering#DB_USAGE_PROPERTY:6bf9119631cc operations/metering#DB_USAGE_ATTRIBUTES:4cc5856f8e54 operations/metering#DB_AMPLIFICATION_PROPERTY:3d4a5e213f60 operations/metering#DB_AMPLIFICATION_ATTRIBUTES:2bcc6710ab6c operations/metering#databaseUsageValues:2badbd9d5274 operations/metering#writeAmplificationValues:4cb9d02b2a71 operations/metering#payloadBytes:2498eae4eed1 operations/metering#MeterableSeams:cf485c0bb5b5 operations/metering#Metered:b9962ff3e83a operations/metering#MeteredSeams:11200a6fdd73 operations/metering#meterDatabase:073587bf0d14
276
+ module 4fce7dd46b7b integrations/module#ran:4857758ecfcd integrations/module#run:c5a3bf40b8e1
277
+ operation-nodes 20b2da81c3ba operations/nodes#Node:2112c57d9bb8 operations/nodes#Held:0ec1b9f302e4 operations/nodes#STOPPED:5cbef15de1fd operations/nodes#stopped:2f6d794b907c operations/nodes#nd_read:ebe50f919c03 operations/nodes#nd_action:c76708228b06 operations/nodes#nd_branch:4386baffad1e operations/nodes#nd_each:ade7b07e6aec operations/nodes#nd_parallel:659ced4866c5 operations/nodes#nd_repeat:54d15c9c2875 operations/nodes#nd_stop:6244f240267e
278
+ operation-shape bc93f428de67 operations/operations#OPERATIONS_FILE:e46dfbcf462b operations/operations#TRIALS_AT:aaf352faa5b3 operations/operations#NODES_FILE:210e774203a3 operations/operations#MEMBERS_LIST:23961436d339 operations/operations#Operation:010f9dfefb3e operations/operations#OPERATIONS:7e34107beaa8
279
+ operations-attach 689c6957cd6c operations/attach#TAKES:6cddee9943a2 operations/attach#WOVEN:a99aa29866b3 operations/attach#said:c89bb33d7607 operations/attach#ATTACH:8b0b999ca5c9
280
+ permits-writer f9e142ce0ae7
281
+ publish-writer 141020971235
282
+ queue-policy 4f5417036cfd operations/queue-policy#MAX_ATTEMPTS:14dd7305c0fa operations/queue-policy#backoffMs:406c2222ff5e operations/queue-policy#isExhausted:402c2f1c9f9a
283
+ read-command afd47d858c95
284
+ release-shape 2de92c9f7b9d derivation/release#PREFIXES:6da43a4f714c derivation/release#KINDS:277a6ea035cd derivation/release#WRITES:fc2d72a3ac58 derivation/release#LISTENS:58f03905ca9e derivation/release#SAID:5bd0783b90d3 derivation/release#kindOf:4176df8c51b9 derivation/release#WRITTEN_BY:9173a6988956 derivation/release#CHECKED_BY:da31b0e1d991
285
+ release-writer 43a026a3c702 derivation/generators/release#CHECKED_BY:50e734bb9f42 derivation/generators/release#WRITES:b89e55dbc69c derivation/generators/release#made:ea0890697a77
286
+ result 9f5e98a1c646 operations/result#ResultCode:2c9cb831da2e operations/result#FailureIdentity:8af44679ea20 operations/result#Result:51fa3d37b70f operations/result#ok:012b7060c34a operations/result#fail:5787814702d4 operations/result#ValidationError:8056c1ea409e
287
+ round 56eb278418e4
288
+ rows 4bf9d5d12657 core/rows#Bounds:9f96256b89fa core/rows#inCode:3aa8ca939e44 core/rows#matched:efe81f54e0c4 core/rows#listBounds:3adc84a88226 core/rows#holdsRow:745a20ac8a94 core/rows#seededAt:483fd49afaa5 core/rows#rowsIn:98b8583dd419 core/rows#withRow:dcc57512f05d core/rows#withSeed:dd37a3bf5b3b core/rows#withRequires:d11efd3851ea core/rows#seedsIn:2de54e168233 core/rows#afterRow:6c07ac3f763a core/rows#quoted:7cb4ec66102d core/rows#valuesIn:84f1cf0a2b48 core/rows#unread:a2c39cf9feb9 core/rows#STATED:3c39f854eb6a core/rows#reconciled:36df6a2bfcce core/rows#fieldIn:13b49f086cce core/rows#withField:7c52e0fd3d24 core/rows#withoutRow:ecc4a8d269f9 core/rows#showing:2d45570925a8
289
+ scope aa2466654fc7 core/scope#ORGANISATION:8510114ffd9e core/scope#THING:2514d79dbd06 core/scope#NAMED:c33cb60b8e33 core/scope#named:72b4c80878b8 core/scope#idOf:3ab7154bd91a core/scope#ours:ab9daad14f31
290
+ sealed-store f613c714a165 integrations/vault#VAULT_DIR:5dd2b28d7cef integrations/vault#SEALED_NAME:4eaaac010b8c integrations/vault#KEY_NAME:065de823d162 integrations/vault#SEALED_AT:548d924665e3 integrations/vault#KEY_AT:2bcb12622e0d integrations/vault#ALGORITHM:84a84e44a5a1 integrations/vault#KEY_BYTES:95940045d335 integrations/vault#keyOf:71ea2ee0c552 integrations/vault#keyed:878e72b78d7b integrations/vault#seal:48aead05fdcd integrations/vault#sealedIn:d0d2e1cc0461 integrations/vault#opened:fea1d83b295a integrations/vault#IGNORES:4de2138e3a11
291
+ secret 4491d6438198 integrations/secret#SECRECY:6814f1bcc247 integrations/secret#SAID:7b6a22f69118 integrations/secret#Secret:3bd4b704fdfb integrations/secret#secrecyOf:53c866c6d50d integrations/secret#isServerOnly:14af671c09c3 integrations/secret#unclassified:3f18056f2160 integrations/secret#valued:3f18056f2160
292
+ seed-writer 2c728fd6d429 operations/generators/seed#quoted:b3a2bd470cb2 operations/generators/seed#beside:6c0fa306492b operations/generators/seed#runtime:b909738618a0 operations/generators/seed#types:2aee6c512ee7 operations/generators/seed#builtFrom:3b21d7bfce78 operations/generators/seed#operations:69e0b4d6cf2d operations/generators/seed#problem:44d3a33067da operations/generators/seed#blockIn:4aa89e8da0ca operations/generators/seed#scaffold:d58c01b2574a operations/generators/seed#nodeText:f7813131ffee operations/generators/seed#seed:9a4c29314682
293
+ shape 079cfa1542bf core/thread#Quote:34b9cab8ecec core/thread#Threaded:aa8a41b1903e core/thread#Member:2112c57d9bb8 core/thread#PREFIXES:e0184df3148d
294
+ slopnator 990671e454de integrity/slopnators/sl_broken_lineage#slopnator:42fb769c73ec integrity/slopnators/sl_declared_elsewhere#slopnator:42fb769c73ec integrity/slopnators/sl_derived_drift#Derivation:a7cc81c002ff integrity/slopnators/sl_derived_drift#derivations:f46b8572fa7c integrity/slopnators/sl_derived_drift#slopnator:42fb769c73ec integrity/slopnators/sl_hardcoded_style#slopnator:42fb769c73ec integrity/slopnators/sl_inert_island#slopnator:42fb769c73ec integrity/slopnators/sl_inert_slopnator#slopnator:42fb769c73ec integrity/slopnators/sl_missing_row#slopnator:42fb769c73ec integrity/slopnators/sl_no_barrel#slopnator:42fb769c73ec integrity/slopnators/sl_no_child_process#slopnator:42fb769c73ec integrity/slopnators/sl_no_comment#slopnator:42fb769c73ec integrity/slopnators/sl_no_dispatch_bypass#slopnator:42fb769c73ec integrity/slopnators/sl_no_import_cycle#slopnator:42fb769c73ec integrity/slopnators/sl_no_such_command#slopnator:42fb769c73ec integrity/slopnators/sl_only_takes_a_literal#slopnator:42fb769c73ec integrity/slopnators/sl_secret_literal#slopnator:42fb769c73ec integrity/slopnators/sl_stale_path#slopnator:42fb769c73ec integrity/slopnators/sl_twice_meant#slopnator:42fb769c73ec integrity/slopnators/sl_twice_parented#slopnator:42fb769c73ec integrity/slopnators/sl_undeclared_crossing#slopnator:42fb769c73ec integrity/slopnators/sl_undeclared_destination#slopnator:42fb769c73ec integrity/slopnators/sl_undeclared_element#slopnator:42fb769c73ec integrity/slopnators/sl_undeclared_node#slopnator:42fb769c73ec integrity/slopnators/sl_undeclared_operation#slopnator:42fb769c73ec integrity/slopnators/sl_undeclared_variant#slopnator:42fb769c73ec integrity/slopnators/sl_undescribed#slopnator:42fb769c73ec integrity/slopnators/sl_ungoverned_island#slopnator:42fb769c73ec integrity/slopnators/sl_unkept_rows#slopnator:42fb769c73ec integrity/slopnators/sl_unnamed_island#slopnator:42fb769c73ec integrity/slopnators/sl_unpaired_member#slopnator:42fb769c73ec integrity/slopnators/sl_unpaired_slopnator#slopnator:42fb769c73ec integrity/slopnators/sl_unprefixed_member#slopnator:42fb769c73ec integrity/slopnators/sl_unseamed_reach#slopnator:42fb769c73ec integrity/slopnators/sl_unthreaded#Reach:ee1c5ae840ce integrity/slopnators/sl_unthreaded#Meaning:eb5d28d0d101 integrity/slopnators/sl_unthreaded#here:7186c669fd80 integrity/slopnators/sl_unthreaded#atsIn:2a22e0fd79d4 integrity/slopnators/sl_unthreaded#rowsIn:e0b6bdfd102e integrity/slopnators/sl_unthreaded#Governed:26751a8a4a1c integrity/slopnators/sl_unthreaded#governedBy:7fd12eca7c1b integrity/slopnators/sl_unthreaded#filesGoverned:65cdfbe444d1 integrity/slopnators/sl_unthreaded#foldersGoverned:65cdfbe444d1 integrity/slopnators/sl_unthreaded#governs:a4fad74ada50 integrity/slopnators/sl_unthreaded#Declared:28a6c94b90c6 integrity/slopnators/sl_unthreaded#canonical:74c647d3ad5c integrity/slopnators/sl_unthreaded#islandsDeclared:16048ec0c690 integrity/slopnators/sl_unthreaded#declaresIsland:f3daaa415aee integrity/slopnators/sl_unthreaded#meaningsIn:53683e6a54b6 integrity/slopnators/sl_unthreaded#Index:1768b6501864 integrity/slopnators/sl_unthreaded#index:b914d00e9d0f integrity/slopnators/sl_unthreaded#forget:a3965c1dfabe integrity/slopnators/sl_unthreaded#threaded:2b0e40c55bac integrity/slopnators/sl_unthreaded#parses:df7c6aede8b6 integrity/slopnators/sl_unthreaded#unreadable:cb6cf51129a6 integrity/slopnators/sl_unthreaded#names:0096812bd8bb integrity/slopnators/sl_unthreaded#slopnator:42fb769c73ec integrity/slopnators/sl_untranslated_key#slopnator:42fb769c73ec integrity/slopnators/sl_unversioned#slopnator:42fb769c73ec
295
+ slopnator-shape 8e3b442eeb60 integrity/slopnator#NOT_WRITTEN:5cbef15de1fd integrity/slopnator#SHIPPED:16475c413846 integrity/slopnator#SEEDED:16475c413846 integrity/slopnator#ROOT:16475c413846 integrity/slopnator#DEPTH:776dd91e8911 integrity/slopnator#CEILING:d674d8e65aca integrity/slopnator#SPAWN_TIMEOUT:56358e853eb5 integrity/slopnator#SPAWN_BUFFER:341610e5ed60 integrity/slopnator#nested:f8c2780ce4f6 integrity/slopnator#ran:f51441c5336b integrity/slopnator#SlopnatorContext:d2a635854c3c integrity/slopnator#Spoken:e2c874045414 integrity/slopnator#Proves:0369cb81daa2 integrity/slopnator#Reads:b81a76c9cc9a integrity/slopnator#Reading:76ea63cd70a7 integrity/slopnator#Running:25cbab8e340a integrity/slopnator#Slopnator:ad0ae14e5f13 integrity/slopnator#Visiting:9af67a68f078 integrity/slopnator#reads:e851af39272f integrity/slopnator#visits:6e4f7f5deee8 integrity/slopnator#sweeps:e851af39272f integrity/slopnator#Byproduct:1b8a6fb06159 integrity/slopnator#slopnatorName:c452dd2bdbbc integrity/slopnator#names:637499d76201 integrity/slopnator#governs:91c49fcb7fdf integrity/slopnator#UnloadableSlopnatorError:9028dcb4c5ec integrity/slopnator#UnreadableRulesError:b60942b119f0 integrity/slopnator#load:5eaf126b2fda integrity/slopnator#proofsOf:763e7a5e9da3 integrity/slopnator#scaffold:15de269b224c integrity/slopnator#write:5c9de9c9d484 integrity/slopnator#onDisk:d463041c43a5 integrity/slopnator#named:c6a6a92894dc integrity/slopnator#rules:13ef34c2acc6 integrity/slopnator#seeds:a6a029998d40 integrity/slopnator#GENERALLY:baedbff8be54 integrity/slopnator#declaring:7229d8fb559f integrity/slopnator#declareSeeded:e732adf1e1e2
296
+ store-shape 8e609bb71c20 operations/store#Row:6f5edf17a61c operations/store#ReadField:99e67343fe70 operations/store#FieldList:83120b2166e7 operations/store#Store:3e01b6e1529c
297
+ sweep-walk 83bcc5789ddf integrity/sweep#visit:9b8811eccd92 integrity/sweep#Caught:5b4dba207f58 integrity/sweep#tracked:d463041c43a5 integrity/sweep#sweep:203bb756c522
298
+ target-shape b84279e9c124 integrations/target#REACH:d67ce859bd20 integrations/target#Reach:28718a29ebbb integrations/target#Holds:3f089a7d097d integrations/target#HOLDS:191fd51c8c5e integrations/target#SAID:cbb49ee60a17 integrations/target#Target:cd7add90c09a integrations/target#Call:e73d9c0eea06 integrations/target#CALL_PREFIX:471df1e09d10 integrations/target#fills:ebc8be09b0a4 integrations/target#reachOf:20d02de80d4c integrations/target#holdsOf:901a78c9a0d2 integrations/target#driverOf:6e977f406f5c integrations/target#addressOf:586d8e0c699d integrations/target#credentialsOf:cba586002fb2 integrations/target#servesBrowser:88b5a2eb80b0 integrations/target#unreachable:3fd2b82d0e99 integrations/target#misnamed:b92bbf30de70 integrations/target#misaccepted:4bb2e3fb0b7d integrations/target#unaddressed:2dff7cf19161 integrations/target#unheld:2dff7cf19161 integrations/target#unanswered:a6d304c26fd3 integrations/target#misused:a862396be9da integrations/target#refusals:1ef6b385d6a5 integrations/target#targetOf:822f8d420b17
299
+ tree 8ba28742dd62 core/tree#Tree:8f338d863404 core/tree#UnthreadedRepositoryError:4b99a1568c11 core/tree#findTree:49ec72a1c670 core/tree#strayFiles:495876581332 core/tree#inTree:9763add68f9f
300
+ trial-runner 35efe3b60730 operations/generators/trial#TRIALS_AT:48cf5b1696fb operations/generators/trial#Scenario:3fb86a665229 operations/generators/trial#Trial:a74a67ac5861 operations/generators/trial#Outcome:0b6ac6861c30 operations/generators/trial#Run:4064695a5df2 operations/generators/trial#runScenario:87292e8d5ec7 operations/generators/trial#scenariosFor:807a80dc6acb operations/generators/trial#compared:c81d29fd44b2 operations/generators/trial#unproven:27bd1e31789b operations/generators/trial#record:2ba585ade9fe
301
+ trial-writer eccd99450bfc integrity/generators/trial#TRIALS_PATH:16475c413846 integrity/generators/trial#Scenario:cec489475009 integrity/generators/trial#Trial:0ed5a9870dc8 integrity/generators/trial#Derivation:5542c019485a integrity/generators/trial#Outcome:4a336cfdb388 integrity/generators/trial#Run:4064695a5df2 integrity/generators/trial#probeAt:cbd1b8bbcf00 integrity/generators/trial#deriveTrials:801b86fffdcc integrity/generators/trial#trialsByproduct:a161332a7bcc integrity/generators/trial#runTrial:9d8f24783d10 integrity/generators/trial#runTrials:0b4ce7fbb41d
302
+ types 5279aefa98bb core/types#VALUE_TYPES:5805701a32cd core/types#ValueType:de0a55f12333 core/types#KEYBOARDS:30577ae2564c core/types#Keyboard:0f9fcadff185 core/types#ENTRY_MODES:0933f2a0cad7 core/types#EntryMode:619a8cf61463 core/types#Checked:3be2f12a6aae core/types#held:ecda2d49d546 core/types#refused:6c4e70ea8940 core/types#Facts:f94c9b180191 core/types#Format:f0fc652558a7 core/types#stripControl:ffc10711842d core/types#BOUNDED:ae1a8dd96249 core/types#FORMATS:a879ae389a3c core/types#formatsOf:1dda69cdbc5b core/types#formatNamed:2007301c8e1b core/types#plainFormat:f683a8a755a5 core/types#formatFor:36746cc1a7ad core/types#checkValue:c4d6bf4e05e4 core/types#showValue:68bfeaa86be4
303
+ vault-writer 68110e118832
304
+ -->
305
+
3
306
  ## 0.0.3
4
307
 
5
308
  it only added, so everything built against the last one still works.
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { dirname, isAbsolute, relative, resolve } from 'node:path';
3
- import { argv, cwd, env, stderr, stdout } from 'node:process';
3
+ import { argv, cwd, env, stderr, stdin, stdout } from 'node:process';
4
+ import { createInterface, emitKeypressEvents } from 'node:readline';
4
5
  import { kind, readFileSync, readdirSync, realpathSync, rmSync, statSync, writeFileSync } from "./files.js";
5
6
  import { exit, invoked } from "./invoked.js";
6
7
  import { THING } from "./scope.js";
@@ -113,7 +114,7 @@ export function carry(one) {
113
114
  }
114
115
  const AT = 'THREAD_SERVER';
115
116
  const KEY = 'THREAD_KEY';
116
- const ROUNDS = 100;
117
+ const QUIET = 100;
117
118
  async function sending(at, key, body) {
118
119
  const said = await fetch(at, {
119
120
  method: 'POST',
@@ -128,49 +129,109 @@ async function sending(at, key, body) {
128
129
  }
129
130
  export async function talking(at, key, message) {
130
131
  let turn = await sending(at, key, { said: message });
131
- for (let spun = 0; spun < ROUNDS; spun += 1) {
132
+ let silent = 0;
133
+ for (;;) {
132
134
  if (turn.say !== undefined && turn.say !== '')
133
135
  stdout.write(`${turn.say}\n`);
134
136
  if (turn.done === true)
135
137
  return 0;
136
- turn = await sending(at, key, { of: turn.of, answered: (turn.orders ?? []).map(carry) });
138
+ const orders = turn.orders ?? [];
139
+ silent = orders.length === 0 && (turn.say === undefined || turn.say === '') ? silent + 1 : 0;
140
+ if (silent >= QUIET)
141
+ break;
142
+ turn = await sending(at, key, { of: turn.of, answered: orders.map(carry) });
137
143
  }
138
- stderr.write(`${THING}: this went ${String(ROUNDS)} rounds without finishing, so it was stopped there. What is already\n` +
144
+ stderr.write(`${THING}: nothing has come back from ${at} for ${String(QUIET)} exchanges, so this stopped waiting. What is already\n` +
139
145
  `in this repository stands, and nothing half-written was left behind — every change is one order, carried\n` +
140
- `and answered before the next one is asked for.\n`);
146
+ `and answered before the next one is asked for.\n` +
147
+ `This only ever gives up on silence: a server that keeps asking for files never reaches it, so a run that is\n` +
148
+ `going nowhere and still talking is one you stop with ctrl-c.\n`);
141
149
  return 1;
142
150
  }
143
- export async function run(said) {
144
- if (said.length === 0) {
145
- stdout.write(`${THING}: say what you want built, in one sentence, in quotes.\n\n ${THING} "take payments with stripe"\n\n` +
146
- `That sentence is the whole of what this takes — there is no command here to look up. Nothing on this\n` +
147
- `machine declares a row, writes a file or runs a check. What comes back is written into this repository\n` +
148
- `for you, and every check this framework runs has to pass before it stays.\n`);
149
- return 0;
150
- }
151
- const message = said.length === 1 ? (said[0] ?? '') : '';
152
- if (!message.includes(' ')) {
153
- stderr.write(`${THING}: there is no \`${said.join(' ')}\` here, and no other command to find instead. This takes one\n` +
154
- `sentence, in quotes, and nothing else — ${THING} "take payments with stripe". Say what you want and it\n` +
155
- `is answered where the work happens, never on this machine.\n`);
156
- return 1;
157
- }
151
+ const PROMPT = '> ';
152
+ async function chatting(at, key) {
153
+ stdout.write(THING +
154
+ ': talking to ' +
155
+ at +
156
+ '. Say what you want built, in a sentence — there is no command here to look up.\n' +
157
+ 'Type while a turn is running and it is held until that turn ends, so you can line several up.\n' +
158
+ 'Press Esc to stop a turn where it is. What you say after that carries on the same conversation with\n' +
159
+ 'everything before it intact, so Esc and then typing is how you cut in with something new.\n' +
160
+ 'Ctrl-C to leave.\n\n');
161
+ const queued = [];
162
+ let busy = false;
163
+ const held = createInterface({ input: stdin, output: stdout, prompt: PROMPT });
164
+ emitKeypressEvents(stdin);
165
+ stdin.on('keypress', (...said) => {
166
+ const one = said[1];
167
+ if (busy && one !== undefined && one.name === 'escape')
168
+ void sending(at, key, { stop: true }).catch((thrown) => {
169
+ stderr.write(THING + ': ' + at + ' would not stop it — ' + (thrown instanceof Error ? thrown.message : String(thrown)) + '. The turn is still running.\n');
170
+ });
171
+ });
172
+ const next = async () => {
173
+ const one = queued.shift();
174
+ if (one === undefined) {
175
+ busy = false;
176
+ held.prompt();
177
+ return;
178
+ }
179
+ busy = true;
180
+ try {
181
+ await talking(at, key, one);
182
+ }
183
+ catch (thrown) {
184
+ stderr.write(THING + ': ' + at + ' could not answer — ' + (thrown instanceof Error ? thrown.message : String(thrown)) + '. Nothing was written.\n');
185
+ }
186
+ await next();
187
+ };
188
+ held.on('line', (line) => {
189
+ const one = line.trim();
190
+ if (one.length === 0) {
191
+ if (!busy)
192
+ held.prompt();
193
+ return;
194
+ }
195
+ queued.push(one);
196
+ if (busy) {
197
+ stdout.write(THING + ': queued — it goes next.\n');
198
+ return;
199
+ }
200
+ void next();
201
+ });
202
+ held.prompt();
203
+ return await new Promise((settle) => {
204
+ held.on('close', () => {
205
+ settle(0);
206
+ });
207
+ });
208
+ }
209
+ function pointed() {
158
210
  const at = env[AT];
159
- if (at === undefined || at === '') {
211
+ if (at === undefined || at.length === 0) {
160
212
  stderr.write(`${THING}: there is nowhere to send that yet. This copy has no server to answer it — ${AT} names one, and\n` +
161
213
  `nothing here is set to one.\n`);
162
- return 1;
214
+ return undefined;
163
215
  }
164
216
  if (!local(at)) {
165
217
  stderr.write(`${THING}: ${AT} names ${at}, which is not on this machine, and this only ever talks to a server running\n` +
166
218
  `here. Set ${AT} to a http://localhost address and say it again. Nothing was sent.\n`);
167
- return 1;
219
+ return undefined;
168
220
  }
169
- const key = env[KEY];
170
- if (key === undefined || key === '') {
171
- stderr.write(`${THING}: nothing here says who is asking, and ${at} answers no one it cannot name. ${KEY} carries your\n` +
172
- `key, and nothing on this machine is set to one. Set it in this terminal and say it again — it is read\n` +
173
- `from there, never written into this repository and never sent anywhere but ${at}.\n`);
221
+ return at;
222
+ }
223
+ export async function run(said) {
224
+ const at = pointed();
225
+ if (at === undefined)
226
+ return 1;
227
+ const key = env[KEY] ?? '';
228
+ if (said.length === 0)
229
+ return await chatting(at, key);
230
+ const message = said.length === 1 ? (said[0] ?? '') : '';
231
+ if (!message.includes(' ')) {
232
+ stderr.write(`${THING}: there is no \`${said.join(' ')}\` here, and no other command to find instead. This takes one\n` +
233
+ `sentence, in quotes, and nothing else — ${THING} "take payments with stripe". Say what you want and it\n` +
234
+ `is answered where the work happens, never on this machine.\n`);
174
235
  return 1;
175
236
  }
176
237
  try {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { dirname, isAbsolute, relative, resolve } from 'node:path'
3
- import { argv, cwd, env, stderr, stdout } from 'node:process'
3
+ import { argv, cwd, env, stderr, stdin, stdout } from 'node:process'
4
+ import { createInterface, emitKeypressEvents } from 'node:readline'
4
5
  import { kind, readFileSync, readdirSync, realpathSync, rmSync, statSync, writeFileSync, type Kind, type Listed, type Measured } from './files.ts'
5
6
  import { exit, invoked } from './invoked.ts'
6
7
  import { THING } from './scope.ts'
@@ -141,7 +142,7 @@ const AT = 'THREAD_SERVER'
141
142
 
142
143
  const KEY = 'THREAD_KEY'
143
144
 
144
- const ROUNDS = 100
145
+ const QUIET = 100
145
146
 
146
147
  async function sending(at: string, key: string, body: unknown): Promise<Turn> {
147
148
  const said = await fetch(at, {
@@ -156,63 +157,121 @@ async function sending(at: string, key: string, body: unknown): Promise<Turn> {
156
157
 
157
158
  export async function talking(at: string, key: string, message: string): Promise<number> {
158
159
  let turn = await sending(at, key, { said: message })
159
- for (let spun = 0; spun < ROUNDS; spun += 1) {
160
+ let silent = 0
161
+ for (;;) {
160
162
  if (turn.say !== undefined && turn.say !== '') stdout.write(`${turn.say}\n`)
161
163
  if (turn.done === true) return 0
162
- turn = await sending(at, key, { of: turn.of, answered: (turn.orders ?? []).map(carry) })
164
+ const orders = turn.orders ?? []
165
+ silent = orders.length === 0 && (turn.say === undefined || turn.say === '') ? silent + 1 : 0
166
+ if (silent >= QUIET) break
167
+ turn = await sending(at, key, { of: turn.of, answered: orders.map(carry) })
163
168
  }
164
169
  stderr.write(
165
- `${THING}: this went ${String(ROUNDS)} rounds without finishing, so it was stopped there. What is already\n` +
170
+ `${THING}: nothing has come back from ${at} for ${String(QUIET)} exchanges, so this stopped waiting. What is already\n` +
166
171
  `in this repository stands, and nothing half-written was left behind — every change is one order, carried\n` +
167
- `and answered before the next one is asked for.\n`,
172
+ `and answered before the next one is asked for.\n` +
173
+ `This only ever gives up on silence: a server that keeps asking for files never reaches it, so a run that is\n` +
174
+ `going nowhere and still talking is one you stop with ctrl-c.\n`,
168
175
  )
169
176
  return 1
170
177
  }
171
178
 
172
- export async function run(said: readonly string[]): Promise<number> {
173
- if (said.length === 0) {
174
- stdout.write(
175
- `${THING}: say what you want built, in one sentence, in quotes.\n\n ${THING} "take payments with stripe"\n\n` +
176
- `That sentence is the whole of what this takes — there is no command here to look up. Nothing on this\n` +
177
- `machine declares a row, writes a file or runs a check. What comes back is written into this repository\n` +
178
- `for you, and every check this framework runs has to pass before it stays.\n`,
179
- )
180
- return 0
181
- }
182
- const message = said.length === 1 ? (said[0] ?? '') : ''
183
- if (!message.includes(' ')) {
184
- stderr.write(
185
- `${THING}: there is no \`${said.join(' ')}\` here, and no other command to find instead. This takes one\n` +
186
- `sentence, in quotes, and nothing else — ${THING} "take payments with stripe". Say what you want and it\n` +
187
- `is answered where the work happens, never on this machine.\n`,
188
- )
189
- return 1
179
+ const PROMPT = '> '
180
+
181
+ async function chatting(at: string, key: string): Promise<number> {
182
+ stdout.write(
183
+ THING +
184
+ ': talking to ' +
185
+ at +
186
+ '. Say what you want built, in a sentence — there is no command here to look up.\n' +
187
+ 'Type while a turn is running and it is held until that turn ends, so you can line several up.\n' +
188
+ 'Press Esc to stop a turn where it is. What you say after that carries on the same conversation with\n' +
189
+ 'everything before it intact, so Esc and then typing is how you cut in with something new.\n' +
190
+ 'Ctrl-C to leave.\n\n',
191
+ )
192
+ const queued: string[] = []
193
+ let busy = false
194
+ const held = createInterface({ input: stdin, output: stdout, prompt: PROMPT })
195
+ emitKeypressEvents(stdin)
196
+ stdin.on('keypress', (...said: readonly unknown[]) => {
197
+ const one = said[1] as { readonly name?: string } | undefined
198
+ if (busy && one !== undefined && one.name === 'escape')
199
+ void sending(at, key, { stop: true }).catch((thrown: unknown) => {
200
+ stderr.write(
201
+ THING + ': ' + at + ' would not stop it — ' + (thrown instanceof Error ? thrown.message : String(thrown)) + '. The turn is still running.\n',
202
+ )
203
+ })
204
+ })
205
+ const next = async (): Promise<void> => {
206
+ const one = queued.shift()
207
+ if (one === undefined) {
208
+ busy = false
209
+ held.prompt()
210
+ return
211
+ }
212
+ busy = true
213
+ try {
214
+ await talking(at, key, one)
215
+ } catch (thrown) {
216
+ stderr.write(THING + ': ' + at + ' could not answer — ' + (thrown instanceof Error ? thrown.message : String(thrown)) + '. Nothing was written.\n')
217
+ }
218
+ await next()
190
219
  }
220
+ held.on('line', (line: string) => {
221
+ const one = line.trim()
222
+ if (one.length === 0) {
223
+ if (!busy) held.prompt()
224
+ return
225
+ }
226
+ queued.push(one)
227
+ if (busy) {
228
+ stdout.write(THING + ': queued — it goes next.\n')
229
+ return
230
+ }
231
+ void next()
232
+ })
233
+ held.prompt()
234
+ return await new Promise<number>((settle) => {
235
+ held.on('close', () => {
236
+ settle(0)
237
+ })
238
+ })
239
+ }
240
+
241
+ function pointed(): string | undefined {
191
242
  const at = env[AT]
192
- if (at === undefined || at === '') {
243
+ if (at === undefined || at.length === 0) {
193
244
  stderr.write(
194
245
  `${THING}: there is nowhere to send that yet. This copy has no server to answer it — ${AT} names one, and\n` +
195
246
  `nothing here is set to one.\n`,
196
247
  )
197
- return 1
248
+ return undefined
198
249
  }
199
250
  if (!local(at)) {
200
251
  stderr.write(
201
252
  `${THING}: ${AT} names ${at}, which is not on this machine, and this only ever talks to a server running\n` +
202
253
  `here. Set ${AT} to a http://localhost address and say it again. Nothing was sent.\n`,
203
254
  )
204
- return 1
255
+ return undefined
205
256
  }
257
+ return at
258
+ }
206
259
 
207
- const key = env[KEY]
208
- if (key === undefined || key === '') {
260
+ export async function run(said: readonly string[]): Promise<number> {
261
+ const at = pointed()
262
+ if (at === undefined) return 1
263
+ const key = env[KEY] ?? ''
264
+ if (said.length === 0) return await chatting(at, key)
265
+ const message = said.length === 1 ? (said[0] ?? '') : ''
266
+ if (!message.includes(' ')) {
209
267
  stderr.write(
210
- `${THING}: nothing here says who is asking, and ${at} answers no one it cannot name. ${KEY} carries your\n` +
211
- `key, and nothing on this machine is set to one. Set it in this terminal and say it again — it is read\n` +
212
- `from there, never written into this repository and never sent anywhere but ${at}.\n`,
268
+ `${THING}: there is no \`${said.join(' ')}\` here, and no other command to find instead. This takes one\n` +
269
+ `sentence, in quotes, and nothing else — ${THING} "take payments with stripe". Say what you want and it\n` +
270
+ `is answered where the work happens, never on this machine.\n`,
213
271
  )
214
272
  return 1
215
273
  }
274
+
216
275
  try {
217
276
  return await talking(at, key, message)
218
277
  } catch (thrown) {
@@ -1,6 +1,56 @@
1
1
  import * as disk from 'node:fs';
2
2
  import { dirname } from 'node:path';
3
- let answering;
3
+ const CHANNEL = 'THREAD_CHANNEL';
4
+ const WAITING = 180000;
5
+ function overFiles(dir) {
6
+ const idle = new Int32Array(new SharedArrayBuffer(4));
7
+ let spun = 0;
8
+ const ask = (body) => {
9
+ spun += 1;
10
+ const name = `${dir}/${String(process.pid)}-${String(spun)}`;
11
+ disk.writeFileSync(`${name}.asking`, JSON.stringify(body));
12
+ disk.renameSync(`${name}.asking`, `${name}.order`);
13
+ const until = Date.now() + WAITING;
14
+ for (;;) {
15
+ let held;
16
+ try {
17
+ held = disk.readFileSync(`${name}.answer`, 'utf8');
18
+ }
19
+ catch {
20
+ held = undefined;
21
+ }
22
+ if (held !== undefined) {
23
+ disk.rmSync(`${name}.answer`, { force: true });
24
+ const said = JSON.parse(held);
25
+ if (said.answered === 'refused')
26
+ throw new Error(String(said.because));
27
+ return said;
28
+ }
29
+ if (Date.now() > until)
30
+ throw new Error('nothing answered ' +
31
+ String(body.order) +
32
+ ' ' +
33
+ String(body.at) +
34
+ ' for three minutes, so this stopped waiting rather than spinning forever. Whoever was answering is gone. It waits longer than a server waits before giving up on a run, on purpose: if an answer were still coming it would have arrived. Nothing here is half-written — one order is one file, and it was either answered or it was not.');
35
+ Atomics.wait(idle, 0, 0, 2);
36
+ }
37
+ };
38
+ return {
39
+ kind: (at) => ask({ order: 'kind', at }).held,
40
+ read: (at) => ask({ order: 'read', at }).said,
41
+ write: (at, said) => {
42
+ ask({ order: 'write', at, said });
43
+ },
44
+ list: (at) => ask({ order: 'list', at }).held,
45
+ stat: (at) => ask({ order: 'stat', at }).held,
46
+ remove: (at) => {
47
+ ask({ order: 'remove', at });
48
+ },
49
+ real: (at) => ask({ order: 'real', at }).at,
50
+ };
51
+ }
52
+ const WHERE = process.env[CHANNEL];
53
+ let answering = WHERE !== undefined && WHERE !== '' ? overFiles(WHERE) : undefined;
4
54
  export function answeredBy(one) {
5
55
  answering = one;
6
56
  }
@@ -23,7 +23,63 @@ export interface Answering {
23
23
  readonly real: (at: string) => string
24
24
  }
25
25
 
26
- let answering: Answering | undefined
26
+ const CHANNEL = 'THREAD_CHANNEL'
27
+
28
+ const WAITING = 180000
29
+
30
+ function overFiles(dir: string): Answering {
31
+ const idle = new Int32Array(new SharedArrayBuffer(4))
32
+ let spun = 0
33
+
34
+ const ask = (body: Readonly<Record<string, unknown>>): Readonly<Record<string, unknown>> => {
35
+ spun += 1
36
+ const name = `${dir}/${String(process.pid)}-${String(spun)}`
37
+ disk.writeFileSync(`${name}.asking`, JSON.stringify(body))
38
+ disk.renameSync(`${name}.asking`, `${name}.order`)
39
+ const until = Date.now() + WAITING
40
+ for (;;) {
41
+ let held: string | undefined
42
+ try {
43
+ held = disk.readFileSync(`${name}.answer`, 'utf8')
44
+ } catch {
45
+ held = undefined
46
+ }
47
+ if (held !== undefined) {
48
+ disk.rmSync(`${name}.answer`, { force: true })
49
+ const said = JSON.parse(held) as Readonly<Record<string, unknown>>
50
+ if (said.answered === 'refused') throw new Error(String(said.because))
51
+ return said
52
+ }
53
+ if (Date.now() > until)
54
+ throw new Error(
55
+ 'nothing answered ' +
56
+ String(body.order) +
57
+ ' ' +
58
+ String(body.at) +
59
+ ' for three minutes, so this stopped waiting rather than spinning forever. Whoever was answering is gone. It waits longer than a server waits before giving up on a run, on purpose: if an answer were still coming it would have arrived. Nothing here is half-written — one order is one file, and it was either answered or it was not.',
60
+ )
61
+ Atomics.wait(idle, 0, 0, 2)
62
+ }
63
+ }
64
+
65
+ return {
66
+ kind: (at) => ask({ order: 'kind', at }).held as Kind,
67
+ read: (at) => ask({ order: 'read', at }).said as string,
68
+ write: (at, said) => {
69
+ ask({ order: 'write', at, said })
70
+ },
71
+ list: (at) => ask({ order: 'list', at }).held as readonly Listed[],
72
+ stat: (at) => ask({ order: 'stat', at }).held as Measured,
73
+ remove: (at) => {
74
+ ask({ order: 'remove', at })
75
+ },
76
+ real: (at) => ask({ order: 'real', at }).at as string,
77
+ }
78
+ }
79
+
80
+ const WHERE = process.env[CHANNEL]
81
+
82
+ let answering: Answering | undefined = WHERE !== undefined && WHERE !== '' ? overFiles(WHERE) : undefined
27
83
 
28
84
  export function answeredBy(one: Answering | undefined): void {
29
85
  answering = one
@@ -1,5 +1,5 @@
1
1
  import { spawnSync } from 'node:child_process';
2
- import { readdirSync, readFileSync, writeFileSync } from "../../core/files.js";
2
+ import { attached, readdirSync, readFileSync, writeFileSync } from "../../core/files.js";
3
3
  import { createRequire } from 'node:module';
4
4
  import { dirname, join, resolve } from 'node:path';
5
5
  import { argv, execPath, stderr, stdout } from 'node:process';
@@ -114,6 +114,12 @@ if (argv.includes('--check')) {
114
114
  catch (cause) {
115
115
  refuse(`the compiler is not installed — ${String(cause)}. \`typescript\` is a dependency this app declares, so \`npm install\` is what puts it there.`);
116
116
  }
117
+ if (attached()) {
118
+ stderr.write('compiler: NOT RUN. The typecheck is a separate compiler process, so it reads the disk of the machine this is\n' +
119
+ 'running on rather than the tree being answered for. It would report on the wrong files, and a check that\n' +
120
+ 'passed against the wrong machine says nothing about this one.\n');
121
+ exit(1);
122
+ }
117
123
  const built = spawnSync(execPath, [cli, '--noEmit'], { cwd: ROOT, stdio: 'inherit' });
118
124
  if (built.error !== undefined)
119
125
  refuse(`the compiler could not be started — ${built.error.message}.`);
@@ -1,5 +1,5 @@
1
1
  import { spawnSync } from 'node:child_process'
2
- import { readdirSync, readFileSync, writeFileSync } from '../../core/files.ts'
2
+ import { attached, readdirSync, readFileSync, writeFileSync } from '../../core/files.ts'
3
3
  import { createRequire } from 'node:module'
4
4
  import { dirname, join, resolve } from 'node:path'
5
5
  import { argv, execPath, stderr, stdout } from 'node:process'
@@ -142,6 +142,15 @@ if (argv.includes('--check')) {
142
142
  )
143
143
  }
144
144
 
145
+ if (attached()) {
146
+ stderr.write(
147
+ 'compiler: NOT RUN. The typecheck is a separate compiler process, so it reads the disk of the machine this is\n' +
148
+ 'running on rather than the tree being answered for. It would report on the wrong files, and a check that\n' +
149
+ 'passed against the wrong machine says nothing about this one.\n',
150
+ )
151
+ exit(1)
152
+ }
153
+
145
154
  const built = spawnSync(execPath, [cli, '--noEmit'], { cwd: ROOT, stdio: 'inherit' })
146
155
  if (built.error !== undefined) refuse(`the compiler could not be started — ${built.error.message}.`)
147
156
  exit(built.status ?? 1)
@@ -4,7 +4,7 @@ import { readFileSync as bytesAt } from 'node:fs';
4
4
  import { join } from 'node:path';
5
5
  import { argv, execPath, stderr, stdout } from 'node:process';
6
6
  import { descend } from "../../core/descend.js";
7
- import { existsSync, readdirSync, readFileSync, rmSync, writeFileSync } from "../../core/files.js";
7
+ import { attached, existsSync, readdirSync, readFileSync, rmSync, writeFileSync } from "../../core/files.js";
8
8
  import { LOADER, exit } from "../../core/invoked.js";
9
9
  import { valuesIn } from "../../core/rows.js";
10
10
  import { ORGANISATION, ours } from "../../core/scope.js";
@@ -99,10 +99,18 @@ if (chosen.length === 0) {
99
99
  exit(1);
100
100
  }
101
101
  const failed = [];
102
+ const unmeasured = [];
102
103
  let passed = 0;
103
104
  for (const [index, step] of chosen.entries()) {
104
105
  const at = `step ${String(index + 1)} of ${String(chosen.length)}`;
105
106
  stdout.write(`\ngate: ${at} — ${step.runs} (${step.id})\n`);
107
+ if (attached() && step.runs.trim().split(/\s+/)[0] !== 'thread') {
108
+ unmeasured.push(step);
109
+ stdout.write(`gate: ${at} — NOT RUN. \`${step.runs}\` is not a thread command, so it reads the disk of the machine this is\n` +
110
+ `running on rather than the tree being answered for. It would report on the wrong files, and a step that\n` +
111
+ `passed against the wrong machine says nothing about this one.\n`);
112
+ continue;
113
+ }
106
114
  const code = ran(step.runs);
107
115
  stdout.write(`gate: ${at} — exited ${String(code)}\n`);
108
116
  if (code === 0)
@@ -147,7 +155,12 @@ function fingerprint() {
147
155
  }
148
156
  const RECEIPT_AT = join('.thread', 'gate.json');
149
157
  const RECEIPT = join(ROOT, RECEIPT_AT);
150
- if (failed.length === 0 && dropped.length === 0) {
158
+ if (unmeasured.length > 0) {
159
+ stdout.write(`gate: ${String(unmeasured.length)} step(s) could not be measured here — ${unmeasured.map((step) => step.id).join(', ')}. Each one\n` +
160
+ `runs a tool that is not part of this framework, so it reads whatever disk it was started on. This is not a\n` +
161
+ `gate pass, and no receipt is written for a run that left them unanswered.\n`);
162
+ }
163
+ if (failed.length === 0 && dropped.length === 0 && unmeasured.length === 0) {
151
164
  writeFileSync(RECEIPT, `${JSON.stringify({ passed: chosen.length, ...fingerprint() }, null, 2)}\n`, 'utf8');
152
165
  stdout.write(`gate: wrote ${RECEIPT_AT} — what compiles is checked against this, so a tree that skipped the gate does not build.\n`);
153
166
  }
@@ -156,7 +169,7 @@ else if (existsSync(RECEIPT)) {
156
169
  stdout.write(`gate: removed ${RECEIPT_AT} — the tree no longer passes, so nothing may compile against an older run.\n`);
157
170
  }
158
171
  if (failed.length === 0)
159
- exit(0);
172
+ exit(unmeasured.length === 0 ? 0 : 1);
160
173
  stderr.write(`gate: FAILED — ${String(failed.length)} of ${String(chosen.length)} step(s). The other ${String(passed)} ran and passed; a failing step stops nothing.\n`);
161
174
  for (const step of failed)
162
175
  stderr.write(` - ${step.id} — run it alone with \`${step.runs}\`\n`);
@@ -5,7 +5,7 @@ import { dirname, join } from 'node:path'
5
5
  import { argv, execPath, stderr, stdout } from 'node:process'
6
6
  import { fileURLToPath } from 'node:url'
7
7
  import { descend } from '../../core/descend.ts'
8
- import { existsSync, readdirSync, readFileSync, rmSync, writeFileSync } from '../../core/files.ts'
8
+ import { attached, existsSync, readdirSync, readFileSync, rmSync, writeFileSync } from '../../core/files.ts'
9
9
  import { LOADER, exit } from '../../core/invoked.ts'
10
10
  import { valuesIn } from '../../core/rows.ts'
11
11
  import { ORGANISATION, ours } from '../../core/scope.ts'
@@ -134,12 +134,23 @@ if (chosen.length === 0) {
134
134
  }
135
135
 
136
136
  const failed: Step[] = []
137
+ const unmeasured: Step[] = []
137
138
  let passed = 0
138
139
 
139
140
  for (const [index, step] of chosen.entries()) {
140
141
  const at = `step ${String(index + 1)} of ${String(chosen.length)}`
141
142
  stdout.write(`\ngate: ${at} — ${step.runs} (${step.id})\n`)
142
143
 
144
+ if (attached() && step.runs.trim().split(/\s+/)[0] !== 'thread') {
145
+ unmeasured.push(step)
146
+ stdout.write(
147
+ `gate: ${at} — NOT RUN. \`${step.runs}\` is not a thread command, so it reads the disk of the machine this is\n` +
148
+ `running on rather than the tree being answered for. It would report on the wrong files, and a step that\n` +
149
+ `passed against the wrong machine says nothing about this one.\n`,
150
+ )
151
+ continue
152
+ }
153
+
143
154
  const code = ran(step.runs)
144
155
 
145
156
  stdout.write(`gate: ${at} — exited ${String(code)}\n`)
@@ -183,7 +194,15 @@ function fingerprint(): { readonly of: Record<string, string>; readonly versions
183
194
  const RECEIPT_AT = join('.thread', 'gate.json')
184
195
  const RECEIPT = join(ROOT, RECEIPT_AT)
185
196
 
186
- if (failed.length === 0 && dropped.length === 0) {
197
+ if (unmeasured.length > 0) {
198
+ stdout.write(
199
+ `gate: ${String(unmeasured.length)} step(s) could not be measured here — ${unmeasured.map((step) => step.id).join(', ')}. Each one\n` +
200
+ `runs a tool that is not part of this framework, so it reads whatever disk it was started on. This is not a\n` +
201
+ `gate pass, and no receipt is written for a run that left them unanswered.\n`,
202
+ )
203
+ }
204
+
205
+ if (failed.length === 0 && dropped.length === 0 && unmeasured.length === 0) {
187
206
  writeFileSync(RECEIPT, `${JSON.stringify({ passed: chosen.length, ...fingerprint() }, null, 2)}\n`, 'utf8')
188
207
  stdout.write(`gate: wrote ${RECEIPT_AT} — what compiles is checked against this, so a tree that skipped the gate does not build.\n`)
189
208
  } else if (existsSync(RECEIPT)) {
@@ -192,7 +211,7 @@ if (failed.length === 0 && dropped.length === 0) {
192
211
  stdout.write(`gate: removed ${RECEIPT_AT} — the tree no longer passes, so nothing may compile against an older run.\n`)
193
212
  }
194
213
 
195
- if (failed.length === 0) exit(0)
214
+ if (failed.length === 0) exit(unmeasured.length === 0 ? 0 : 1)
196
215
 
197
216
  stderr.write(
198
217
  `gate: FAILED — ${String(failed.length)} of ${String(chosen.length)} step(s). The other ${String(passed)} ran and passed; a failing step stops nothing.\n`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prestack/thread",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",