Central claimA valid past decision is not automatically a valid present commitment.
EvidenceE4 · Finance kernel implementation plus deterministic stale/current baseline tests
ScopeState-changing Finance Decisions and Proposal admission

Finance now requires the Decision's exact baseline PortfolioSnapshot to remain the current portfolio state when the Decision is re-evaluated and again when a Proposal is created.

The Decision did not become false

Suppose an Agent evaluates a state-changing capital action against portfolio state S0.

The evidence is available. The comparison against NO-OP supports change. The Decision names S0 explicitly and passes every rule that exists at that moment.

Then something else changes the portfolio.

10:00  Decision D is evaluated against S0
10:03  portfolio changes to S1
10:05  a caller tries to create Proposal P from D

Nothing about the historical record of D has been corrupted. Its evidence can still be authentic. Its original reasoning can still be coherent.

But the action would no longer land in the world the Decision evaluated.

The Decision can remain valid as history while becoming stale as authority for a new state-changing commitment.

Finance made the baseline an exact object

State-changing Finance Decisions already carried an explicit NO-OP baseline. The currentness repair made one additional relationship consequential: the Decision's baseline.portfolioStateRef must match the current PortfolioSnapshot used by Capital Rationality.

Decision baseline = snapshot://S0
Current portfolio = snapshot://S0
→ current baseline check PASS

Decision baseline = snapshot://S0
Current portfolio = snapshot://S1
→ current baseline check FAIL
→ rebase-decision-to-current-portfolio-state

If current portfolio state cannot be observed at all, Finance does not guess. The check becomes UNKNOWN and requests a refresh of current portfolio state.

This is deliberately narrower than “the Decision is older than five minutes” or “the repository generation changed.” The relevant dependency is the capital state the action would actually modify.

One test preserved the old answer and blocked the new action

The regression fixture creates one state-changing Decision against a known baseline, records it, and then advances the PortfolioSnapshot.

Finance evaluates the same immutable Decision under two semantics.

EvaluationPortfolio stateResult
Historical v2 replayDecision still records S0coherent · proposal eligible
Current v3current state is S1needs revision · proposal blocked

The historical answer is intentionally not rewritten. Finance can still reproduce why the Decision looked coherent under the old contract.

The current answer is different because the consumer is different: it is asking whether the Decision may govern a consequence now.

Replay asks what the Decision meant then. Commitment admission asks whether its baseline still governs the world now.

Proposal creation checks again

A second test closes a subtler hole.

Imagine the Decision was evaluated while S0 was current. Its assessment is recorded as proposal-eligible. Only after that does the portfolio advance to S1.

If Proposal creation trusted the old eligibility bit forever, the stale action could still escape.

So proposal.create@2 re-evaluates current Capital Rationality and compares the current snapshot with the Decision baseline again.

Decision D @ S0
→ Assessment A = eligible
→ portfolio advances to S1
→ create Proposal from D + A
→ REJECT: Decision baseline must match current portfolio state

The assessment was not “wrong.” It simply cannot mint permanent authority over a state that may later change.

The Agent gets a repair path, not a dead end

Blocking a stale Decision is useful only if the system can say what became stale.

Agent Context v19 turns the failed baseline check into a bounded obligation:

need: rebase-decision-to-current-portfolio-state
candidate operation: finance.decide
target: the exact stale Decision

The repair is not “rerun everything.” It is not “discard all old research.” It is not “assume the action is still good because nothing obvious changed.”

The Agent goes back to the semantic boundary that owns the stale commitment and decides again against current state.

This is not the same as stale evidence

Ordivon already had a narrower result: authentic evidence can remain byte-for-byte valid while the dependency it described changes.

Decision currentness is one step farther downstream.

Evidence currentness
→ may this evidence still support this claim?

Decision currentness
→ may this already-formed judgment still govern this state-changing commitment?

A system can get the first question right and still fail the second. The evidence used by a Decision might remain valid while the portfolio itself has changed for an entirely different reason.

That is why currentness cannot stop at research admission.

The general lesson is smaller than a global currentness engine

This experiment does not justify one universal service that marks every Decision, Task, credential, route, model, or artifact fresh or stale.

Finance has a particularly strong local dependency: state-changing capital decisions are defined relative to an exact portfolio baseline. Other domains can have different commitment identities and different revalidation boundaries.

The transferable rule is narrower:

When an action is consequential, revalidate the load-bearing state that made the commitment admissible before letting that commitment create a new effect.

If the dependency is still current, continue. If it changed, rebase. If it cannot be observed, preserve UNKNOWN.

What this does not prove

It does not prove that every old Decision should be invalidated by time. It does not make Finance a global scheduler. It does not make a portfolio snapshot a universal currentness object.

It also does not activate live trading. The current public Finance boundary still treats external financial submission as a separate fail-closed deployment question.

The difficult part of durable Agent work is not only remembering what was decided. It is knowing when a remembered decision has lost the right to move the current world.

Primary record

Decision-currentness implementation

  1. Finance Decision Kernel at the stale-decision fix
  2. Deterministic current-baseline and Proposal-revalidation tests