Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type LifecycleTransactionReceipt ¶ added in v0.37.0
type LifecycleTransactionReceipt struct {
ID string
State string
ProjectRoot string
RecoveryRoot string
// RecoveryRootIdentity is the device/inode identity of the held recovery
// stage directory. Protocol-v2 publishing/committed receipts require it so
// reopening RecoveryRoot cannot silently bind another transaction's tree.
RecoveryRootIdentity string
BaselineDigest string
StagedDigest string
CreatedAt string
// PublishingIntentRequired marks protocol-v2 transactions. It is written
// before any staged mutation so a committed receipt must retain and validate
// its publishing intent rather than silently accepting a missing sidecar.
PublishingIntentRequired bool
// DeclaredWriteSet is the canonical spec-relative mutation boundary that
// was verified against the staged output before publication.
DeclaredWriteSet []string
}
LifecycleTransactionReceipt is the durable account of an exchanged staged project. Its predecessor is intentionally retained: an open descriptor may still write to that inode after exchange, so automatic reclamation would discard evidence that cannot safely be reconstructed.
func RunLifecycleTransaction ¶ added in v0.37.0
func RunLifecycleTransaction(realProjectRoot string, declaredWriteSet []string, op func(stagedProjectRoot string) error) (LifecycleTransactionReceipt, error)
RunLifecycleTransaction performs a lifecycle mutation in an isolated staged project. The callback receives "." while the process CWD is descriptor-anchored to that staged project; it must not retain the path after return. This makes package-level lifecycle code unable to reopen the live project during its mutation or lint pass.
The returned receipt is written before and after publication. Recovery is deliberately read-only in this first surface: raw old-FD writes remain an unavoidable operating-system limitation, so a predecessor is never removed automatically. The bounded retention limit refuses new work before writing a receipt; reclamation remains an explicit future operation.
Source Files
¶
- agent.go
- code.go
- config.go
- consilium.go
- debug.go
- decision.go
- encoders.go
- entity.go
- event.go
- exclusive_publish.go
- feature.go
- feature_park.go
- graph.go
- idea.go
- idea_list.go
- idea_park.go
- idea_promote.go
- idea_relocate.go
- init.go
- install.go
- issue.go
- lesson.go
- lesson_agents.go
- lesson_check.go
- lesson_deps.go
- lesson_events.go
- lesson_import_legacy.go
- lesson_info.go
- lesson_list.go
- lesson_migrate_flat.go
- lesson_mutation_reconcile.go
- lesson_occurrence.go
- lesson_recur.go
- lesson_relation.go
- lifecycle_lock_unix.go
- lifecycle_recovery.go
- lifecycle_recovery_unix.go
- lifecycle_transaction.go
- lifecycle_transaction_linux.go
- lifecycle_transaction_unix.go
- lint_stub.go
- mergedriver.go
- plan.go
- plan_coordination.go
- plan_info.go
- plan_list.go
- plan_readiness.go
- plan_reconcile.go
- plan_store.go
- process_alive_unix.go
- property.go
- proposal.go
- publication.go
- rehearse.go
- rehearse_acs.go
- root.go
- rule.go
- rule_delete.go
- rule_lint.go
- rule_list.go
- rule_promote.go
- rule_render.go
- rule_show.go
- rule_update.go
- rules.go
- self_update.go
- sidekick.go
- skills_fetch.go
- spec.go
- spec_tree_metadata_linux.go
- spec_tree_publish_linux.go
- spec_tree_snapshot.go
- spec_tree_snapshot_unix.go
- spec_tree_stage_unix.go
- spec_tree_times_linux.go
- spec_tree_xattr_linux.go
- studio.go
- studio_ask.go
- task.go
- task_amend.go
- task_stubs.go
- telemetry.go
- telemetry_wiring.go
- template_fetch.go
- test_seams.go
- transitions.go
- upgrade.go