feat: add point-in-time investment workflow domain contracts - #41
Altairpaca wants to merge 10 commits into
Conversation
|
2026-09-10 design audit — converted to Draft intentionally. The point-in-time/fingerprint direction is useful, but this branch should not be rebased-and-merged mechanically after the release gate. Required redesign before Ready for Review:
Keep the existing tests as useful specification evidence, but treat the current domain types as a prototype rather than the final schema. Activation remains behind #23/#34. |
|
Additional temporal blocker found in the 2026-09-10 audit: the current Before this PR becomes Ready for Review, replace the single ordered-time assertion with explicit bitemporal selection semantics and add a regression case for a known-before-effective fact. This is another reason not to merge the current prototype unchanged. |
Sequencing status
Implementation is intentionally deferred behind the stable-release acceptance boundary now documented on
mainand reflected in roadmap #46. Keep this PR available as the deterministic foundation for the later research-workflow layer, but do not merge it merely to expand scope before the genuine release blockers (#6, #23, #34) are closed.Goal
Move Clausula from reliable accounting/market primitives toward reproducible investment workflows without introducing opaque automated investment decisions.
Change
InvestmentWorkflow,WorkflowInputRef,WorkflowRun, andWorkflowArtifactdomain contracts;effective_at <= known_at <= workflow as_of) to reject hindsight;clausula.domain;Boundary
No model-generated trade decision or execution authority is introduced. These are deterministic workflow/provenance primitives for later research, thesis and decision workflows.
Merge gate
Re-review/rebase this branch after stable-release acceptance. At that point, verify that the workflow contracts reuse the final canonical research/artifact/accounting identities rather than creating a parallel truth system.
Refs #40 #46