Skip to content

Commit 5768db3

Browse files
committed
feature: updated q-actualize command
1 parent 81fd5db commit 5768db3

File tree

1 file changed

+41
-5
lines changed

1 file changed

+41
-5
lines changed

src/commands/q-actualize.md

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,46 @@
11
---
2-
description: "Migrate legacy FPF structure"
2+
description: "Reconcile the project's FPF state with recent repository changes."
33
---
44

5-
# Actualize
5+
# Actualize Knowledge Base
6+
7+
This command is a core part of maintaining a living assurance case. It helps you keep your FPF knowledge base (`.quint/`) in sync with the evolving reality of your project's codebase.
8+
9+
The command performs a three-part audit against recent git changes to surface potential context drift, stale evidence, and outdated decisions. This aligns with the **Observe** phase of the FPF Canonical Evolution Loop (B.4) and helps manage **Epistemic Debt** (B.3.4).
10+
11+
The LLM persona for this command is the **Actualizer**.
612

713
## Instruction
8-
1. **Action:**
9-
- Call `quint_actualize` (mapped to `tools.Actualize` in binary).
10-
- This migrates `.fpf` folders to `.quint`.
14+
15+
1. **Identify Baseline for Changes:**
16+
- The Actualizer will first determine the set of recent changes to analyze. It will look for a baseline commit hash in `.quint/state/actualize.log`.
17+
- If the file doesn't exist, it will ask you to choose a baseline: the latest git tag, a specific commit hash, or a time window (e.g., "last 7 days").
18+
- It will then generate a list of all files that have changed between the baseline and the current `HEAD`.
19+
20+
2. **Analyze Context Drift:**
21+
- The Actualizer will check if any core project configuration files (e.g., `package.json`, `go.mod`, `Dockerfile`, `pom.xml`) are in the list of changed files.
22+
- If they are, it will re-run the context analysis logic from `/q0-init` to generate a "current context" summary.
23+
- It will then present a diff between the detected current context and the contents of `.quint/context.md`.
24+
- It will ask you if you want to update the `context.md` file.
25+
26+
3. **Analyze Evidence Staleness (Epistemic Debt):**
27+
- The Actualizer will scan all evidence files in `.quint/evidence/`.
28+
- For each piece of evidence that has a `carrier_ref` pointing to a file, it will check if that file has been modified in the recent git changes.
29+
- If a referenced file has changed, the evidence will be flagged as **stale**.
30+
- All stale evidence will be compiled into a "Stale Evidence Report," noting which hypotheses or decisions are affected by the potentially decayed evidence.
31+
32+
4. **Analyze Decision Relevance:**
33+
- The Actualizer will examine all decision records (`DRR*`) in `.quint/decisions/`.
34+
- For each decision, it will trace its justification back through its supporting evidence to the original source files (`carrier_ref`).
35+
- If any of these foundational source files have changed, the decision record will be flagged as **"Potentially Outdated"**.
36+
- All such decisions will be compiled into a "Decisions to Review" report.
37+
38+
5. **Present the Actualization Report:**
39+
- The Actualizer will summarize all findings for you in a clear, actionable report with three sections:
40+
- **Context Drift:** (if any) Shows a diff of `context.md` and prompts for action.
41+
- **Stale Evidence:** Lists all evidence files that need re-validation, suggesting the use of `/q3-validate`.
42+
- **Decisions to Review:** Lists all decisions that may no longer be valid, suggesting a new reasoning cycle (`/q1-hypothesize`) to re-evaluate them.
43+
44+
6. **Update Baseline:**
45+
- After you have reviewed the report, the Actualizer will ask for confirmation to update the baseline.
46+
- Upon confirmation, it will execute a tool call to write the current `HEAD` commit hash into `.quint/state/actualize.log`, setting the baseline for the next run.

0 commit comments

Comments
 (0)