feat: implement SPEC-020 temporal family reasoning #31

Open
hugooconnor wants to merge 0 commits from hence/plan-IMPL-020 into main
hugooconnor commented 2026-03-11 23:05:40 +00:00 (Migrated from codeberg.org)

This PR implements SPEC-020 temporal-family reasoning across indexing, reasoning, projection, shadow execution, and query APIs.

This PR supersedes the earlier hence/plan-IMPL-018 attempt.

IMPL-018 established temporal atom identity and validated a number of query and regression scenarios, but it relied on a TemporalBridge compatibility layer. That bridge approach was useful for proving out the design space, but it left semantic gaps between authored
theories and the core reasoner, especially around temporal-window identity, explanation/projection semantics, and mixed temporal/atemporal behavior.

This branch replaces that approach with first-class temporal-family reasoning in the core system.

What changed

  • add exact/family literal indexing and rule compilation support
  • add projection tokens, diagnostics, and shadow-mode comparison
  • remove the bridge dependency and promote projection-based reasoning to the default path
  • add family-aware query, abduction, requires, and why-not behavior
  • fix temporal-window collapse in the core reasoner
  • preserve mixed temporal/atemporal contributors in projection output
  • restore defeater projection and why_not() invariants
  • align wildcard temporal query results so the returned literal and conclusion strength refer to the same representative
  • add regression, differential, and property-based coverage for temporal-family semantics and bridge-era failures

Validation

  • make check
  • make test
This PR implements SPEC-020 temporal-family reasoning across indexing, reasoning, projection, shadow execution, and query APIs. This PR supersedes the earlier hence/plan-IMPL-018 attempt. IMPL-018 established temporal atom identity and validated a number of query and regression scenarios, but it relied on a TemporalBridge compatibility layer. That bridge approach was useful for proving out the design space, but it left semantic gaps between authored theories and the core reasoner, especially around temporal-window identity, explanation/projection semantics, and mixed temporal/atemporal behavior. This branch replaces that approach with first-class temporal-family reasoning in the core system. What changed - add exact/family literal indexing and rule compilation support - add projection tokens, diagnostics, and shadow-mode comparison - remove the bridge dependency and promote projection-based reasoning to the default path - add family-aware query, abduction, requires, and why-not behavior - fix temporal-window collapse in the core reasoner - preserve mixed temporal/atemporal contributors in projection output - restore defeater projection and why_not() invariants - align wildcard temporal query results so the returned literal and conclusion strength refer to the same representative - add regression, differential, and property-based coverage for temporal-family semantics and bridge-era failures Validation - make check - make test
This branch is already included in the target branch. There is nothing to merge.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin hence/plan-IMPL-020:hence/plan-IMPL-020
git switch hence/plan-IMPL-020

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff hence/plan-IMPL-020
git switch hence/plan-IMPL-020
git rebase main
git switch main
git merge --ff-only hence/plan-IMPL-020
git switch hence/plan-IMPL-020
git rebase main
git switch main
git merge --no-ff hence/plan-IMPL-020
git switch main
git merge --squash hence/plan-IMPL-020
git switch main
git merge --ff-only hence/plan-IMPL-020
git switch main
git merge hence/plan-IMPL-020
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
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
anuna-research/spindle-rust!31
No description provided.