doctor is blind to a product's own declarations and mechanism contracts #274
Open
opened 2026-08-16 02:29:34 +00:00 by PerishFire
·
3 comments
No Branch/Tag specified
main
release/v0.37.38
fix/controller-profile
land/fix/controller-profile
fix/dispatch-configuration
land/fix/dispatch-configuration
fix/pick-evidence
land/fix/pick-evidence
fix/pick-recovery
land/fix/pick-recovery
fix/marker-settlement
land/fix/marker-settlement
fix/ship-receipt-reuse
land/fix/ship-receipt-reuse
land/task/datum-carrier
task/datum-carrier
land/task/ship-image
task/ship-image
land/task/ship-escrow
task/ship-escrow
land/task/ship-local
task/ship-local
land/task/ship-inputs
task/ship-inputs
land/task/ship-boundary
task/ship-boundary
land/task/image-production
task/image-production
land/task/archive-publication
task/archive-publication
land/task/publication-binding
task/publication-binding
land/task/oci-authentication
task/oci-authentication
land/task/marker-identity
task/marker-identity
land/task/oci-context
task/oci-context
land/task/oci-provenance
task/oci-provenance
land/task/execution-bindings
task/execution-bindings
land/task/probe-context
task/probe-context
land/task/production-evidence
task/production-evidence
land/task/ship-proof-reuse
task/ship-proof-reuse
land/task/probe-binding
task/probe-binding
land/task/tool-resolution
task/tool-resolution
land/task/guard-staged-graph
task/guard-staged-graph
rejoin/v0.37.37
release/v0.37.37
land/task/rule-probe
task/rule-probe
land/task/guard-pnpm-world
task/guard-pnpm-world
land/task/guard-physical-world
task/guard-physical-world
land/task/guard-cargo-world
task/guard-cargo-world
land/task/guard-execution-contract
task/guard-execution-contract
rejoin/v0.37.36
land/task/guard-cargo-cache
task/guard-cargo-cache
release/v0.37.36
land/task/rejoin-guard-proof
task/rejoin-guard-proof
land/task/runseal-stable-datum
task/runseal-stable-datum
rejoin/v0.37.35
release/v0.37.35
land/task/skill-generation-upgrade
task/skill-generation-upgrade
land/task/rust-role-policy
task/rust-role-policy
land/task/skill-command-core
task/skill-command-core
land/task/cargo-resource-inputs
task/cargo-resource-inputs
rejoin/v0.37.34
release/v0.37.34
rejoin/v0.37.33
land/task/ship-watch-blocked
task/ship-watch-blocked
release/v0.37.33
land/task/doctor-rejoin-projection
task/doctor-rejoin-projection
rejoin/v0.37.32
release/v0.37.32
land/task/ship-plan-focus
task/ship-plan-focus
land/task/release-stamp-datum
task/release-stamp-datum
rejoin/v0.37.31
release/v0.37.31
rejoin/v0.37.30
release/v0.37.30
land/task/plumb-promotion-workload
task/plumb-promotion-workload
land/task/plumb-rejoin-perception
task/plumb-rejoin-perception
rejoin/v0.37.29
release/v0.37.29
land/task/plumb-runseal-v0186
task/plumb-runseal-v0186
rejoin/v0.37.28
release/v0.37.28
land/task/plumb-cargo-depot-registry
task/plumb-cargo-depot-registry
rejoin/v0.37.27
release/v0.37.27
land/task/plumb-ship-atom-cargo-context
task/plumb-ship-atom-cargo-context
rejoin/v0.37.26
release/v0.37.26
land/task/plumb-guard-detached-git
task/plumb-guard-detached-git
land/task/plumb-land-proof-status
task/plumb-land-proof-status
rejoin/v0.37.25
release/v0.37.25
land/task/plumb-product-context
task/plumb-product-context
rejoin/v0.37.24
release/v0.37.24
land/task/plumb-workload-version-boundary
task/plumb-workload-version-boundary
rejoin/v0.37.23
release/v0.37.23
rejoin/v0.37.22
release/v0.37.22
land/task/plumb-role-closure
task/plumb-role-closure
rejoin/v0.37.21
release/v0.37.21
rejoin/v0.37.20
release/v0.37.20
rejoin/v0.37.19
release/v0.37.19
rejoin/v0.37.18
release/v0.37.18
rejoin/v0.37.17
release/v0.37.17
rejoin/v0.37.16
release/v0.37.16
rejoin/v0.37.15
release/v0.37.15
rejoin/v0.37.14
release/v0.37.14
feature/ship-atom-windows-recovery
land/feature/ship-atom-windows-recovery
feature/ship-atom-platform-handoff
land/feature/ship-atom-platform-handoff
feature/ship-atom-self-bootstrap
land/feature/ship-atom-self-bootstrap
depot-bootstrap-validator
land/depot-bootstrap-validator
land/release-self-controller
release-self-controller
land/release-version-controller
release-version-controller
land/release-datum-configuration
release-datum-configuration
land/release-datum-proof
release-datum-proof
land/release-guard-attach
release-guard-attach
land/release-guard-cache
release-guard-cache
binary-marker-workload
land/binary-marker-workload
rejoin/v0.37.13
cargo-version-projection
land/cargo-version-projection
release/v0.37.13
atom-handoff-wiring
land/atom-handoff-wiring
atom-structured-handoff
land/atom-structured-handoff
atom-fragment-handoff
land/atom-fragment-handoff
atom-token-segmentation
land/atom-token-segmentation
atom-token-handoff
land/atom-token-handoff
atom-inventory-base
land/atom-inventory-base
atom-observable-handoff
land/atom-observable-handoff
atom-local-resolution
land/atom-local-resolution
land/plumb/atom-digest-handoff
plumb/atom-digest-handoff
land/plumb/marker-neutral-workloads
plumb/marker-neutral-workloads
land/plumb/ship-publication-barrier
plumb/ship-publication-barrier
land/plumb/exact-configuration-seat
plumb/exact-configuration-seat
land/plumb/ship-marker-configuration
plumb/ship-marker-configuration
land/plumb/release-stamp-dry-proof
plumb/release-stamp-dry-proof
land/plumb/depot-validator-fallback
plumb/depot-validator-fallback
land/marker-local-controller
marker-local-controller
land/ship-marker-bootstrap
ship-marker-bootstrap
land/release-proof-witness
release-proof-witness
land/release-local-controller
release-local-controller
land/release-bootstrap-boundary
release-bootstrap-boundary
guard-transaction-seat
land/guard-transaction-seat
guard-depot-seat
land/guard-depot-seat
land/task/guard-bootstrap-world
task/guard-bootstrap-world
land/task/guard-bootstrap-catalog
task/guard-bootstrap-catalog
land/task/self-hosted-guard-profile
task/self-hosted-guard-profile
land/task/guard-bootstrap-seat
task/guard-bootstrap-seat
land/task/release-controller-bootstrap
task/release-controller-bootstrap
land/task/atom-run-export
task/atom-run-export
land/task/freeze-proof-carrier
task/freeze-proof-carrier
land/task/runnerless-control
task/runnerless-control
land/task/runnerless-reuse
task/runnerless-reuse
land/task/atom-run-carry
task/atom-run-carry
land/task/atom-bootstrap-compatibility
task/atom-bootstrap-compatibility
land/task/stable-bootstrap
task/stable-bootstrap
land/task/atom-workload-identity
task/atom-workload-identity
land/task/atom-commit-identity
task/atom-commit-identity
land/task/release-proof-refresh
task/release-proof-refresh
land/task/marker-bound-governance
task/marker-bound-governance
land/task/profile-bound-plan
task/profile-bound-plan
land/task/profile-governed-spec
task/profile-governed-spec
land/task/profile-governed-doctor
task/profile-governed-doctor
land/task/profile-governed-guard
task/profile-governed-guard
land/task/product-profile-resolution
task/product-profile-resolution
land/task/marker-consumer-contract-convergence
task/marker-consumer-contract-convergence
land/task/stable-configuration-guard-bootstrap
task/stable-configuration-guard-bootstrap
rejoin/v0.37.12
land/topology-rejoin-without-workflow
topology-rejoin-without-workflow
land/stable-changelog-lineage
stable-changelog-lineage
bind-only-embedded-workloads
land/bind-only-embedded-workloads
land/preserve-portable-workload-keys
preserve-portable-workload-keys
land/stable-promotion-plan-fix
stable-promotion-plan-fix
release/v0.37.12
land/version-control-without-depot
version-control-without-depot
land/sync-opened-release-line
sync-opened-release-line
activated-stable-rejoin-gate
land/activated-stable-rejoin-gate
land/stable-version-bound-workloads
stable-version-bound-workloads
release/v0.37.11
depot-marker-rebind
land/depot-marker-rebind
land/stable-promotion-recovery
stable-promotion-recovery
final-atom-visibility
land/final-atom-visibility
final-preparation-proof
land/final-preparation-proof
final-publication-reuse
land/final-publication-reuse
final-atom-transfer
final-atom-winner
final-release-controller
land/final-release-controller
release/v0.37.10
land/watch-incomplete-matrix
watch-incomplete-matrix
release-seat-compat-source
land/managed-binary-retry
managed-binary-retry
land/snapshot-git-environment
snapshot-git-environment
guard-git-environment
land/guard-git-environment
land/managed-binary-atomic
managed-binary-atomic
guard-index-isolation-land
land/guard-index-isolation-land
guard-home-precedence-land
land/guard-home-precedence-land
land/release-pick-recovery
release-pick-recovery
land/ship-watch-jobs
ship-watch-jobs
land/ship-watch-tasks
ship-watch-tasks
land/ship-marker-held
ship-marker-held
land/ship-held-publications
ship-held-publications
land/ship-source-origin
ship-source-origin
land/ship-exact-atom
ship-exact-atom
land/ship-prepare-pnpm
ship-prepare-pnpm
land/ship-publish-marker
ship-publish-marker
land/ship-binary-cargo-identity
ship-binary-cargo-identity
feature/depot-marker-only
land/feature/depot-marker-only
feature/ship-exact-bootstrap
land/feature/ship-exact-bootstrap
feature/ship-atom-identity
land/feature/ship-atom-identity
feature/bootstrap-configuration-capability
land/feature/bootstrap-configuration-capability
feature/release-line-bootstrap-hardening
land/feature/release-line-bootstrap-hardening
feature/release-line-configuration-bootstrap
land/feature/release-line-configuration-bootstrap
feature/depot-v3-declaration
land/feature/depot-v3-declaration
feature/changelog-generation-read
land/feature/changelog-generation-read
feature/skill-generation-install
land/feature/skill-generation-install
feature/configuration-install
land/feature/configuration-install
feature/depot-configuration-generations
land/feature/depot-configuration-generations
feature/depot-knowledge-generations
land/feature/depot-knowledge-generations
feature/depot-generation-store
land/feature/depot-generation-store
feature/depot-marker-workflow
land/feature/depot-marker-workflow
land/refactor/depot-marker-transaction
refactor/depot-marker-transaction
land/refactor/ship-transaction-v2
refactor/ship-transaction-v2
fix/binary-production-roots
land/fix/binary-production-roots
fix/shared-bootstrap-seal
land/fix/shared-bootstrap-seal
fix/marker-bound-atom
land/fix/marker-bound-atom
fix/depot-bootstrap-phase
land/fix/depot-bootstrap-phase
fix/exact-bootstrap-depot
land/fix/exact-bootstrap-depot
fix/legacy-workload-source
land/fix/legacy-workload-source
fix/operator-watch-fixture
land/fix/operator-watch-fixture
fix/legacy-workload-record
land/fix/legacy-workload-record
fix/workload-record-normalization
land/fix/workload-record-normalization
fix/direct-record-priority
land/fix/direct-record-priority
fix/staged-depot-hooks
land/fix/staged-depot-hooks
land/task/exclude-control-plane
task/exclude-control-plane
land/task/fetch-ship-marker
task/fetch-ship-marker
land/task/immutable-workflow-records
task/immutable-workflow-records
land/task/converge-workflow-inventory-cas
task/converge-workflow-inventory-cas
land/task/native-workflow-inventory-store
task/native-workflow-inventory-store
land/task/retire-workflow-shadow-tests
task/retire-workflow-shadow-tests
land/task/rule-depot-isolation
task/rule-depot-isolation
land/task/audit-depot-isolation
task/audit-depot-isolation
land/task/doctor-json-depot-isolation
task/doctor-json-depot-isolation
land/task/marker-fetch-recovery
task/marker-fetch-recovery
land/task/r2-workload-handoff
task/r2-workload-handoff
land/task/watch-run-terminal
task/watch-run-terminal
land/task/depot-staged-validation
task/depot-staged-validation
land/task/project-pnpm-domain
task/project-pnpm-domain
land/task/project-reuse-runtime
task/project-reuse-runtime
land/task/depot-container-home
task/depot-container-home
land/task/depot-bootstrap-order
task/depot-bootstrap-order
task/command-ownership-convergence
cargo-cfworker-exact
land/cargo-cfworker-exact
release/v0.37.9
land/task/oci-exact-reuse
task/oci-exact-reuse
land/repo/module-byte-reuse
repo/module-byte-reuse
land/repo/chart-byte-reuse
repo/chart-byte-reuse
land/repo/s3-read-recovery
repo/s3-read-recovery
land/repo/npm-direct-publish-recovery
repo/npm-direct-publish-recovery
land/repo/yaml-projection-recovery
repo/yaml-projection-recovery
land/repo/chart-workload-reuse
repo/chart-workload-reuse
land/work/project-workload-reuse
work/project-workload-reuse
land/work/explicit-reuse-carriers
work/explicit-reuse-carriers
land/work/skip-empty-smoke-matrix
work/skip-empty-smoke-matrix
land/work/inventory-etag-dialect
work/inventory-etag-dialect
land/work/skip-empty-binary-matrix
work/skip-empty-binary-matrix
land/work/resilient-bootstrap
work/resilient-bootstrap
land/work/central-inventory-writer
work/central-inventory-writer
land/work/exact-atom-tool
work/exact-atom-tool
land/work/native-marker-checkout
work/native-marker-checkout
land/work/marker-held-snapshot
work/marker-held-snapshot
land/work/ship-marker-takeover
work/ship-marker-takeover
land/work/inventory-probe-timeout
work/inventory-probe-timeout
land/work/versioned-projection-carrier
work/versioned-projection-carrier
land/work/workflow-projection-carrier
work/workflow-projection-carrier
land/work/workflow-toml-projection
work/workflow-toml-projection
land/work/ship-binary-inventory
work/ship-binary-inventory
land/work/ship-atom-identity
work/ship-atom-identity
land/work/ship-authority-secrets
work/ship-authority-secrets
release/v0.37.8
land/work/release-pick-proof
work/release-pick-proof
land/work/prerelease-marker-proof
work/prerelease-marker-proof
land/work/release-identity-hash
work/release-identity-hash
land/work/precommit-git-env
work/precommit-git-env
land/work/precommit-proof
work/precommit-proof
land/task/plumb-marker-consumers
task/plumb-marker-consumers
land/task/plumb-release-marker-kernel
task/plumb-release-marker-kernel
release/v0.37.7
land/task/plumb-stable-promotion-reuse
task/plumb-stable-promotion-reuse
rejoin/v0.37.6
land/task/plumb-v0376-main-version
task/plumb-v0376-main-version
release/v0.37.6
land/task/plumb-retry-idempotency
task/plumb-retry-idempotency
release/v0.37.5
rejoin/v0.37.4
land/task/plumb-domain-product-map
task/plumb-domain-product-map
release/v0.37.4
land/task/plumb-depot-skill-consumer
task/plumb-depot-skill-consumer
land/task/plumb-depot-knowledge-media
task/plumb-depot-knowledge-media
rejoin/v0.37.3
release/v0.37.3
land/task/plumb-workflow-cold-consumer
task/plumb-workflow-cold-consumer
rejoin/v0.37.2
release/v0.37.2
land/task/plumb-workflow-consumer-organization
task/plumb-workflow-consumer-organization
rejoin/v0.37.1
release/v0.37.1
established-workflows-hidden-and-irrelevant-work-skipped
land/established-workflows-hidden-and-irrelevant-work-skipped
rejoin/v0.37.0
release/v0.37.0
rejoin/v0.36.1
land/task/workflow-inventory-transaction
task/workflow-inventory-transaction
release/v0.36.1
rejoin/v0.36.0
land/task/release-writer-identity
task/release-writer-identity
release/v0.36.0
rejoin/v0.35.0
land/task/rejoin-retarget-recovery
task/rejoin-retarget-recovery
land/task/registry-authority-profile
task/registry-authority-profile
release/v0.35.0
land/task/release-authority-profile
task/release-authority-profile
task/rejoin-recovery
rejoin/v0.34.0
release/v0.34.0
land/task/workflow-plan-reuse
task/workflow-plan-reuse
land/task/release-prepare-provenance
task/release-prepare-provenance
retired/release-v0.34.0-rebuild-1
retired/release-v0.34.0-pre-freeze
land/task/prerelease-workspace-projection
task/prerelease-workspace-projection
land/task/guard-atom-layout
task/guard-atom-layout
feat/release-version-preserves-json
land/feat/release-version-preserves-json
feat/release-prepare-version-projection
land/feat/release-prepare-version-projection
rejoin/v0.33.0
feat/public-guard-atom
land/feat/public-guard-atom
release/v0.33.0
land/plan/v0.33.0
plan/v0.33.0
land/plan/cold-start
plan/cold-start
rejoin/v0.32.1
release/v0.32.1
land/plumb-depot-v2-floor
plumb-depot-v2-floor
land/plumb-0321-version
plumb-0321-version
land/plumb-depot-v2-sync
plumb-depot-v2-sync
land/plumb-depot-release-seat
plumb-depot-release-seat
land/plumb-depot-validator
plumb-depot-validator
rejoin/v0.32.0
release/v0.32.0
land/plumb-windows-bootstrap-seat
plumb-windows-bootstrap-seat
land/plumb-release-bootstrap
plumb-release-bootstrap
land/plumb-v0-32
plumb-v0-32
land/plumb-release-aware-depot
plumb-release-aware-depot
rejoin/v0.31.0
release/v0.31.0
land/v0-31-version
v0-31-version
depot-only-rules
land/depot-only-rules
land/vocabulary-digest-protocol
vocabulary-digest-protocol
land/retire-vocabulary-registry
retire-vocabulary-registry
converge-vocabulary-registry
land/converge-vocabulary-registry
adopt-app-root
land/adopt-app-root
land/transition-app-root
transition-app-root
land/simplify-bootstrap-vocabulary
simplify-bootstrap-vocabulary
land/layer-guard-commands
layer-guard-commands
group-cli-integration-tests
land/group-cli-integration-tests
land/layer-repository-shape
layer-repository-shape
group-operator-tests
land/group-operator-tests
land/layer-release-truth
layer-release-truth
converge-runtime-depot-boundary
land/converge-runtime-depot-boundary
land/repo/closure-capsule-boundary
repo/closure-capsule-boundary
land/repo/closure-registry-boundary
repo/closure-registry-boundary
land/repo/closure-site-reach-boundary
repo/closure-site-reach-boundary
land/repo/closure-depot-evidence
repo/closure-depot-evidence
land/repo/closure-lane-guard
repo/closure-lane-guard
land/repo/closure-found-reexport
repo/closure-found-reexport
land/repo/closure-release-declaration
repo/closure-release-declaration
land/repo/closure-changelog-command
repo/closure-changelog-command
land/repo/closure-lane-seam
repo/closure-lane-seam
land/repo/closure-workflow-tree
repo/closure-workflow-tree
land/repo/closure-policy-evidence
repo/closure-policy-evidence
land/repo/closure-dependency-observation
repo/closure-dependency-observation
land/repo/closure-layout-evidence
repo/closure-layout-evidence
land/repo/closure-release-verdict
repo/closure-release-verdict
land/repo/closure-release-pair-evidence
repo/closure-release-pair-evidence
land/repo/closure-structure-evidence
repo/closure-structure-evidence
land/plumb-closure-rewritten
plumb-closure-rewritten
land/repo/closure-lane-evidence
repo/closure-lane-evidence
land/repo/closure-dispatch-evidence
repo/closure-dispatch-evidence
land/repo/closure-web-evidence
repo/closure-web-evidence
land/repo/closure-judge-namespace
repo/closure-judge-namespace
land/repo/closure-doctor-command
repo/closure-doctor-command
land/repo/closure-precommit-command
repo/closure-precommit-command
land/repo/closure-radius-command
repo/closure-radius-command
land/repo/closure-contract-baseline
repo/closure-contract-baseline
land/rejoin-topology-only
rejoin-topology-only
release/v0.30.0
land/v0-30-version
v0-30-version
land/release-plan-bridge
release-plan-bridge
land/v0-30-notes
v0-30-notes
land/path-test
path-test
land/surface-freeze
surface-freeze
declaration-witness
land/declaration-witness
depot-guard-sync
land/depot-guard-sync
depot-policy-table
land/depot-policy-table
depot-catalogue-owned
land/depot-catalogue-owned
depot-taxonomy-carried
land/depot-taxonomy-carried
depot-catalogue-carried
land/depot-catalogue-carried
depot-policy-carried
land/depot-policy-carried
depot-law-carried
land/depot-law-carried
land/ship-help-written
ship-help-written
depot-limit-carried
land/depot-limit-carried
land/plumb-modules-layered
plumb-modules-layered
land/plumb-release-verbs-documented
plumb-release-verbs-documented
land/plumb-agents-release
plumb-agents-release
land/plumb-document-retire
plumb-document-retire
land/plumb-affirm
plumb-affirm
land/plumb-cookbook
plumb-cookbook
land/plumb-wayfinder
plumb-wayfinder
land/plumb-layout-rule
plumb-layout-rule
land/plumb-layout-engine
plumb-layout-engine
land/plumb-rules-depot
plumb-rules-depot
land/plumb-crate-anchor
plumb-crate-anchor
land/plumb-resource-macro
plumb-resource-macro
land/plumb-note-anchor
plumb-note-anchor
release/v0.29.0
land/plumb-depot-floor
plumb-depot-floor
land/plumb-v0.29.0-notes
plumb-v0.29.0-notes
land/plumb-v0.29.0
plumb-v0.29.0
land/plumb-depot
plumb-depot
land/plumb-whitelist-only-layout
plumb-whitelist-only-layout
release/v0.28.0
land/promotion-latest-exact
promotion-latest-exact
bump-v0-28-0
land/bump-v0-28-0
land/workflow-hash
workflow-hash
release/v0.27.0
land/task/a-curl-that-says-why
task/a-curl-that-says-why
land/task/the-pointer-only-names-published
task/the-pointer-only-names-published
land/task/a-pointer-advances-in-its-own-channel
task/a-pointer-advances-in-its-own-channel
land/task/the-version-already-carries-its-v
task/the-version-already-carries-its-v
land/task/fit-the-changelog-to-the-budget
task/fit-the-changelog-to-the-budget
land/task/a-line-generates-itself
task/a-line-generates-itself
land/task/a-changelog-the-size-of-the-release
task/a-changelog-the-size-of-the-release
land/task/frozen-history-says-beta-4
task/frozen-history-says-beta-4
land/task/the-line-is-the-contracts-lock
task/the-line-is-the-contracts-lock
land/task/carry-the-version-v0-27-0
task/carry-the-version-v0-27-0
land/task/the-pointer-note-a-release-owes
task/the-pointer-note-a-release-owes
land/task/a-point-is-the-releases-to-make
task/a-point-is-the-releases-to-make
land/task/a-verb-that-stamps-the-exact-point
task/a-verb-that-stamps-the-exact-point
land/task/what-v0-27-0-changed
task/what-v0-27-0-changed
land/task/one-course-both-ways
task/one-course-both-ways
land/task/an-agent-budget-that-measures
task/an-agent-budget-that-measures
land/task/a-gate-that-reads-the-authority
task/a-gate-that-reads-the-authority
land/task/npm-evidence-that-is-the-tarball
task/npm-evidence-that-is-the-tarball
land/task/a-landed-message-says-it-once
task/a-landed-message-says-it-once
land/task/a-deb-version-that-sorts
task/a-deb-version-that-sorts
land/task/one-ceiling-for-every-attachment
task/one-ceiling-for-every-attachment
land/task/point-at-the-stale-brief
task/point-at-the-stale-brief
land/task/an-image-is-an-object
task/an-image-is-an-object
land/task/rejoin-not-packport
task/rejoin-not-packport
land/task/name-the-packport-resolution
task/name-the-packport-resolution
land/task/retire-the-bootstrap
task/retire-the-bootstrap
land/task/advance-the-pointer
task/advance-the-pointer
release/v0.26.0
land/task/freeze-reads-the-seat
task/freeze-reads-the-seat
land/task/bind-to-beta-three
task/bind-to-beta-three
land/task/install-before-projecting
task/install-before-projecting
land/task/bind-to-beta-two
task/bind-to-beta-two
land/task/hand-the-jobs-what-they-need
task/hand-the-jobs-what-they-need
land/task/scope-the-promotion-proof
task/scope-the-promotion-proof
land/task/guard-the-stable-only-steps
task/guard-the-stable-only-steps
land/task/a-windows-runner-has-no-bash
task/a-windows-runner-has-no-bash
land/task/render-what-the-runners-need
task/render-what-the-runners-need
land/task/export-before-deriving
task/export-before-deriving
land/task/a-stray-leaf-is-not-recorded
task/a-stray-leaf-is-not-recorded
land/task/the-datum-owns-its-seat
task/the-datum-owns-its-seat
land/task/record-onto-a-standing-line
task/record-onto-a-standing-line
land/task/datum-in-toml
task/datum-in-toml
land/task/read-the-line-from-the-ref
task/read-the-line-from-the-ref
land/task/bootstrap-v0.26.0
task/bootstrap-v0.26.0
land/task/prepare-v0.26.0
task/prepare-v0.26.0
land/task/refuse-a-late-packport
task/refuse-a-late-packport
land/task/manage-the-numbers
task/manage-the-numbers
land/task/watch-the-run-graph
task/watch-the-run-graph
land/task/measure-recorded-objects
task/measure-recorded-objects
land/task/one-object-per-attachment
task/one-object-per-attachment
land/task/see-untracked-leaves
task/see-untracked-leaves
land/task/pin-release-verdict
task/pin-release-verdict
land/task/retire-callers
task/retire-callers
release/v0.25.0
settle/v0.24.0
land/task/oci-payload
task/oci-payload
land/task/retire-bootstrap
task/retire-bootstrap
release/v0.24.0
land/task/relative-root
task/relative-root
land/task/baseline-absent
task/baseline-absent
land/task/bootstrap-v0.24.0
task/bootstrap-v0.24.0
land/task/plan-prepare-verb
task/plan-prepare-verb
land/task/forge-constraints
task/forge-constraints
land/task/render-own-lanes
task/render-own-lanes
land/task/attachment-only-shape
release/v0.23.0
task/attachment-only-shape
land/task/projection-surface
release/v0.22.0
task/projection-surface
land/plumb-release-contract
plumb-release-contract
release/v0.21.0
codex/plumb-frozen-projection-caller
land/codex/plumb-frozen-projection-caller
codex/plumb-registry-projection
land/codex/plumb-registry-projection
codex/plumb-recovery-bearer
land/codex/plumb-recovery-bearer
codex/recovery-guard-caller
land/codex/recovery-guard-caller
codex/recovery-caller-rotation
land/codex/recovery-caller-rotation
codex/recovery-tag-stamp
land/codex/recovery-tag-stamp
codex/recovery-caller-v0-20-0
land/codex/recovery-caller-v0-20-0
bump-v0-20-0
release/v0.20.0
codex/activation-contract
land/codex/activation-contract
codex/ship-registry-fix
land/codex/ship-registry-fix
ship-registry-identity
probe-ci-tooling
land/recovery-caller
recovery-caller
land/oci-carrier-payload
oci-carrier-payload
land/retarget-recovery
retarget-recovery
land/ship-cargo-adaptor
ship-cargo-adaptor
packport/v0.19.0
release/v0.19.0
bump-v0-19-0
land/ship-site-adaptor
ship-site-adaptor
land/ship-closed-enumeration
ship-closed-enumeration
land/radius-jsr-retire
radius-jsr-retire
land/svelte-site-and-jsr-retire
svelte-site-and-jsr-retire
land/run-settled-outcome
run-settled-outcome
branch-absent-probe
land/branch-absent-probe
dispatch-on-ref
land/dispatch-on-ref
land/tag-triggered-callers
tag-triggered-callers
packport/v0.18.27-recovery
release/v0.18.28
land/plumb-v0-18-28
plumb-v0-18-28
land/plumb-cloudflare-cutover
plumb-cloudflare-cutover
land/tag-anchor-source
tag-anchor-source
land/protect-absent-create
protect-absent-create
land/settle-runseal-v0.16.6
settle-runseal-v0.16.6
land/plumb-ship-adaptors
plumb-ship-adaptors
land/settle-v0.18.27-runseal-v0.16.4
settle-v0.18.27-runseal-v0.16.4
release/v0.18.27
forge-http-cutover
land/forge-http-cutover
land/plumb-site-shield-removal
plumb-site-shield-removal
packport/v0.18.26
release/v0.18.26
design-site-deploy
land/design-site-deploy
release/v0.18.25
plumb-v0.18.25-release
design-svelte-release-guard
land/design-svelte-release-guard
release/v0.18.24
plumb-v0.18.24-release
plumb-v0.18.23-release
release/v0.18.23
design-svelte-shape
land/design-svelte-shape
release/v0.18.22
release/v0.18.21
document-enforcement
land/document-enforcement
release/v0.18.20
document-surface
land/document-surface
release/v0.18.19
land/vendor-shell-and-retire
release/v0.18.18
vendor-shell-and-retire
land/plumb-changelog-migration-artifacts
plumb-changelog-migration-artifacts
release/v0.18.17
land/plumb-v0.18.16-release
plumb-v0.18.16-release
release/v0.18.16
land/sealkit-combination-models
sealkit-combination-models
land/plumb-skill-limit-strategy-release-guard
plumb-skill-limit-strategy-release-guard
release/v0.18.15
land/plumb-skill-limit-strategy-release
plumb-skill-limit-strategy-release
land/plumb-skill-limit-strategy
plumb-skill-limit-strategy
land/plumb-skill-kiss-budget-mechanize
plumb-skill-kiss-budget-mechanize
land/locus-trace-audit-plumb-identity
locus-trace-audit-plumb-identity
land/plumb-skill-kiss-budget
plumb-skill-kiss-budget
land/plumb-radius-brief
plumb-radius-brief
jarvis/plumb-skeleton-cargo-lane-ectropy
land/jarvis/plumb-skeleton-cargo-lane-ectropy
land/plumb-skeleton-cargo-lane
plumb-skeleton-cargo-lane
forgejo-job-log
land/forgejo-job-log
land/plumb-v0.18.14-retire-caller
plumb-v0.18.14-retire-caller
land/plumb-v0.18.14-recovery-repin
plumb-v0.18.14-recovery-repin
land/plumb-v0.18.14-recovery-caller
plumb-v0.18.14-recovery-caller
release/v0.18.14
land/plumb-v0.18.14-recovery-core
plumb-v0.18.14-recovery-core
land/plumb-v0.18.14-cargo-family-release
plumb-v0.18.14-cargo-family-release
land/plumb-cargo-family-beta-stamping
plumb-cargo-family-beta-stamping
jarvis/sealkit-retire-plumb-skeleton
land/jarvis/sealkit-retire-plumb-skeleton
jarvis/plumb-cargo-only-release
land/jarvis/plumb-cargo-only-release
land/plumb-radius-seal-field
plumb-radius-seal-field
land/plumb-forgejo-watch-release
plumb-forgejo-watch-release
release/v0.18.13
land/plumb-forgejo-task-watch
plumb-forgejo-task-watch
land/plumb-release-radius
plumb-release-radius
release/v0.18.12
land/plumb-land-retire
plumb-land-retire
release/v0.18.11
release/v0.18.10
release/v0.18.9
land/operator-cli-release
operator-cli-release
release/v0.18.8
release/v0.18.7
release/v0.18.6
release/v0.18.5
release/v0.18.4
release/v0.18.3
release/v0.18.2
release/v0.18.1
release/v0.18.0
windows-delivery-audit
v0.37.38-beta.2
v0.37.38-beta.1
v0.37.37
v0.37.37-beta.1
v0.37.36
v0.37.36-beta.1
v0.37.35
v0.37.35-beta.1
v0.37.34
v0.37.34-beta.1
v0.37.33
v0.37.33-beta.1
v0.37.32
v0.37.32-beta.2
v0.37.32-beta.1
v0.37.31
v0.37.31-beta.1
v0.37.30
v0.37.30-beta.1
v0.37.29
v0.37.29-beta.1
v0.37.28
v0.37.28-beta.1
v0.37.27
v0.37.27-beta.1
v0.37.26
v0.37.26-beta.1
v0.37.25
v0.37.25-beta.1
v0.37.24
v0.37.24-beta.1
v0.37.23
v0.37.23-beta.1
v0.37.22
v0.37.22-beta.1
v0.37.21
v0.37.21-beta.1
v0.37.20
v0.37.20-beta.1
v0.37.19
v0.37.19-beta.2
v0.37.19-beta.1
v0.37.18
v0.37.18-beta.1
v0.37.17
v0.37.17-beta.1
v0.37.16
v0.37.16-beta.1
v0.37.15
v0.37.15-beta.3
v0.37.15-beta.2
v0.37.15-beta.1
v0.37.14
v0.37.14-beta.3
v0.37.14-beta.2
v0.37.14-beta.1
v0.37.13
v0.37.13-beta.17
v0.37.13-beta.16
v0.37.13-beta.15
v0.37.13-beta.14
v0.37.13-beta.13
v0.37.13-beta.12
v0.37.13-beta.11
v0.37.13-beta.10
v0.37.13-beta.9
v0.37.13-beta.8
v0.37.13-beta.7
v0.37.13-beta.6
v0.37.13-beta.5
v0.37.13-beta.4
v0.37.13-beta.3
v0.37.13-beta.2
v0.37.13-beta.1
v0.37.12
v0.37.12-beta.2
v0.37.12-beta.1
v0.37.11
v0.37.11-beta.13
v0.37.11-beta.12
v0.37.11-beta.11
v0.37.11-beta.10
v0.37.11-beta.9
v0.37.11-beta.8
v0.37.11-beta.7
v0.37.11-beta.6
v0.37.11-beta.5
v0.37.11-beta.4
v0.37.11-beta.3
v0.37.11-beta.2
v0.37.11-beta.1
v0.37.10-beta.30
v0.37.10-beta.29
v0.37.10-beta.28
v0.37.10-beta.27
v0.37.10-beta.26
v0.37.10-beta.25
v0.37.10-beta.24
v0.37.10-beta.23
v0.37.10-beta.22
v0.37.10-beta.21
v0.37.10-beta.20
v0.37.10-beta.19
v0.37.10-beta.18
v0.37.10-beta.17
v0.37.10-beta.16
v0.37.10-beta.15
v0.37.10-beta.14
v0.37.10-beta.13
v0.37.10-beta.12
v0.37.10-beta.11
v0.37.10-beta.10
v0.37.10-beta.9
v0.37.10-beta.8
v0.37.10-beta.7
v0.37.10-beta.6
v0.37.10-beta.5
v0.37.10-beta.4
v0.37.10-beta.3
v0.37.10-beta.2
v0.37.10-beta.1
v0.37.9-beta.1
v0.37.8-beta.1
v0.37.7-beta.1
v0.37.6-beta.1
v0.37.5-beta.1
v0.37.4-beta.1
v0.37.3-beta.1
v0.37.2-beta.1
v0.37.1-beta.1
v0.37.0-beta.1
v0.36.1-beta.1
v0.36.0-beta.1
v0.35.0-beta.1
v0.34.0-beta.5
v0.34.0-beta.4
v0.34.0-beta.3
v0.34.0-beta.2
v0.34.0-beta.1
v0.33.0
v0.33.0-beta.1
v0.32.1
v0.32.1-beta.1
v0.32.0
v0.32.0-beta.3
v0.32.0-beta.2
v0.32.0-beta.1
v0.31.0
v0.31.0-beta.4
v0.31.0-beta.3
v0.31.0-beta.2
v0.31.0-beta.1
v0.30.0-beta.2
v0.30.0
v0.30.0-beta.1
v0.29.0
v0.29.0-beta.4
v0.29.0-beta.3
v0.29.0-beta.2
v0.29.0-beta.1
v0.28.0
v0.28.0-beta.4
v0.28.0-beta.3
v0.28.0-beta.2
v0.28.0-beta.1
v0.27.0
v0.27.0-beta.13
v0.27.0-beta.12
v0.27.0-beta.11
v0.27.0-beta.10
v0.27.0-beta.9
v0.27.0-beta.8
v0.27.0-beta.7
v0.27.0-beta.6
v0.27.0-beta.5
v0.27.0-beta.4
v0.27.0-beta.3
v0.27.0-beta.2
v0.27.0-beta.1
v0.26.0
v0.26.0-beta.4
v0.26.0-beta.3
v0.26.0-beta.2
v0.26.0-beta.1
v0.25.0
v0.25.0-beta.2
v0.25.0-beta.1
v0.24.0
v0.24.0-beta.4
v0.24.0-beta.3
v0.24.0-beta.2
v0.24.0-beta.1
v0.23.0
v0.23.0-beta.1
v0.22.0
v0.22.0-beta.1
v0.21.0
v0.21.0-beta.5
v0.21.0-beta.4
v0.21.0-beta.3
v0.21.0-beta.2
v0.21.0-beta.1
v0.20.0-beta.1
v0.19.0-beta.3
v0.19.0-beta.2
v0.19.0-beta.1
v0.18.28-beta.2
v0.18.28-beta.1
v0.17.1
v0.17.0
v0.16.0
v0.15.0
v0.14.0
v0.13.1
v0.13.0
v0.12.4
v0.12.3
v0.12.2
v0.12.1
v0.11.0
v0.10.0
v0.9.1
v0.9.0
v0.8.0
v0.7.0
v0.6.0
v0.4.0
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
PerishLab/plumb#274
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Cutting
sidecar v0.8.0-beta.1on 2026-08-15 surfaced four separate defects inone afternoon. Each one is a declaration or a call contract that Plumb owns,
each was already broken before the release started, and in every case
plumb doctor .reportedtrue to the skeleton. The cost landed at the mostexpensive moment: after landing, in CI, beside an irreversible action.
Filing them together because they are one class, not four bugs.
1. A release declaration that cannot be parsed at all
[release.npm]was added directly abovetargets, so TOML reparented all fourrelease targets onto the npm attachment, which rejects unknown fields:
Three guard runs, two pull requests and a landing on
mainpassed withplumb doctor .true throughout. Only a verb that parses the releasedeclaration says anything, and nothing runs one before release day.
The ordering hazard is worth naming on its own: any
[release.<attachment>]table silently captures every later top-level key of
[release].2. A skill seat two minor versions behind stable
~/.claude/skills/plumbsat at v0.18.27 while stable was v0.20.0. That briefdocuments
plumb release dispatch, a verb v0.20.0 does not have. Reading it asauthoritative produced a wrong procedure: an exact release was assumed to bind a
release/<version>branch rather thanrefs/tags/<version>, withchannelandversionnamed beside it rather than read from the version.plumb skill statusreports this, but nothing points at it, and the brief iswhat a reader trusts first. The current brief states the rule correctly; the
stale one is what was on disk.
3. A wrapper refusing every dispatch the current binary can make
Current Plumb reads channel and version from the ref and sends
inputs={}foran exact release. The product's
release-exact.ymlstill declared both asrequired: true. The shared workflow has carried "Ignored; the version is readfrom the ref. Stop passing it." for two minor versions, so the wrapper had
drifted into rejecting every dispatch, and nothing reported the drift.
The same reasoning covers
guard_contextsand the secret names those wrapperscarry: they are contracts against a shared mechanism, and they fail the same
silent way.
4. A declared attachment that no lane delivers
[release.npm]is declared andplumb doctoraccepts it. The exact release thenran green end to end -- resolve, four builds, coordinate, four smokes, release --
and published nothing to the npm registry, because
release-binary.ymldoes notcarry the package lane; that lives behind the
package-exactaction. Therelease log says only
sidecar has no Cargo attachment.A declaration that no lane can deliver is indistinguishable, from
doctor, fromone that ships. The product learns the difference by looking for the artifact.
What these share
Plumb owns the release declaration, the attachment tables, the dispatch
contract, and the skill brief. In every case above, the product held something
that had stopped being true about a Plumb mechanism, and no Plumb gate said so.
doctorreads the skeleton; nothing reads whether the declarations still parse,still resolve to a lane, or still match the contract they call.
Please do not fix these one cell at a time. Adding a key-order check for
[release.npm]leaves[release.oci],[release.chart],[release.cargo]and[[document]]in the same state. The load-bearing question is which gate isanswerable for a declaration Plumb owns.
Suggested shape, not a decision
network. This looks like it belongs to
doctoras a mechanized rule.evidence is freshest and a refusal costs nothing.
doctorfinding is genuinely unclear; it is aproperty of the host, not the repository.
Reproducing
Cheapest repro for 1 is two minimal
plumb.tomlfiles that differ only inwhether the attachment table precedes
targets, plus oneplumb doctor --jsoneach. It needs no release, no network and no credentials.
Tracked on our side as
perish.code/plumb-declaration-blindness. Fixes for theproduct-side symptoms landed in sidecar as
921ac05and5528372; thoserepaired the instances, not the blindness.
Checked the four against today's mechanism, one at a time. Two are closed by code, one is closed in form but stands on evidence that cannot yet be trusted, and one is untouched. Leaving the issue open for the remaining two.
1. An unparseable release declaration passing doctor — fixed.
shape::pair::releaseparses the declaration through the same strictSpec::readevery release verb uses, and a refusal becomesout of trueunderrelease.spec-declared:plumb.toml declares a release the current Plumb refuses: <reason>. The ordering hazard you named is caught by the same read, because the reparented keys are exactly what makes the parse fail. Covered bytests/doctor/release.rs::refused.3. A wrapper refusing every dispatch — fixed by rendering. Lanes are derived from the declaration, not hand-written; drift is byte comparison against a fresh render, and
plumb ship binary dispatchrefuses outright to start a release on a lane this Plumb did not render. A wrapper cannot silently disagree with the mechanism any more because it is no longer authored.4. A declared attachment no lane delivers — the rule exists, its evidence does not.
release.attachment-deliverablerefuses a declared attachment that resolves to no delivering lane. But it resolves throughcarriers(), a hardcoded attachment→lane table: it says which lane is supposed to carry a medium, not whether that lane actually calls the verb or whether its job image can run it. That is a static table standing in for a fact, and it closes properly only when every repository has migrated to rendered lanes.2. A stale skill seat — untouched.
plumb skill statusstill reports it and nothing points at it. This one is about the operator's machine rather than the repository, sodoctormay be the wrong surface; it needs its own answer.The class you named — "a declaration Plumb owns, broken before the release, invisible to doctor" — is the right frame, and it is what
release.datum-recorded,document.source-tracked, andrelease.attachment-permittedwere all cut to serve this round.Item 2 is closed on main
f9986bf, and the shape of the answer is the reason it sat untouched.doctornow names every installed brief whose version is not the running binary's, in every repository, becausedoctoris what gets run. Three were on this machine while writing it — v0.23.0 beside a running v0.26.0.The first attempt made it a noted finding, and every fixture in the suite went from clean to unclean for a reason that had nothing to do with the repository being judged. That is the trap: the seats belong to the operator, the verdict belongs to the repository, and mixing them makes doctor lie about the repository to tell the truth about the machine. So it is an observation printed beside the shape, not a finding — a repository that is true stays true beside a stale brief.
The comparison is against the running binary rather than canonical stable. It needs no network, and it asks the question that actually bit you: does this brief describe the plumb I am holding.
That leaves item 4 as the only one still open —
release.attachment-deliverablerefuses a declared attachment no lane can deliver, but resolves it throughcarriers(), a hardcoded attachment-to-lane table. It closes properly when every repository has migrated to rendered lanes.Migrated sidecar to rendered lanes at v0.26.0, which is what item 4 was waiting
on from this side. Reporting what the migration measured.
Item 1 fired on the repository that reported it. The first thing v0.26.0
doctor said about sidecar was the declaration refusal, from the
package->packagesrename it had not taken yet:Item 4 closes structurally here. With the declaration parsing, doctor reports
publishes binary npm, and the renderedship.ymlprojects a matrix derivedfrom the declaration —
plumb ship ${{ matrix.medium }} publish. The npmattachment is delivered because it is declared. The failure this issue opened
with was an exact release running ten green jobs and publishing nothing to the
registry; that shape is no longer reachable, because nobody wires a lane by hand
for a medium.
Two notes from the migration itself, neither a defect:
The rendered guard proving Linux alone read as a regression to me at first,
and I was wrong. Sidecar had built a three-platform guard, so adopting the
rendered lane looked like dropping the Windows and macOS proof it had just paid
for. It is a trade, not an oversight: guard cost is charged on every change,
while platform evidence is worth taking when a change touches spawn, discovery
or a bridge facet. A repository-owned dispatch-only
platform.ymlsits besidethe four rendered lanes,
plumb lanestill reports all fourtrue, and doctornames the extra one
unknown shape: workflow platform has no shadow in the skeletonwithout touching its exit code. That is exactly the right verdict, andit is what makes the trade adoptable rather than a wall.
"Track before you seal" caught the trap that bit us two cuts ago. The seal
source walks tracked files, and sealing before
git addseals a tree withoutthe new modules in it — green locally, red on a fresh checkout. v0.26.0 refuses
with
source . holds untracked leavesinstead of sealing the wrong tree.Nothing outstanding from us. Thanks for the four-part reply; the reasoning in
item 2 about seats belonging to the operator and verdicts to the repository is
the part I would not have arrived at.