FN-5963: add goals refinement evidence pack

Document the evidence required before activating conditional goals refinement work.

- add a dedicated goals refinement evidence pack doc with required observation fields and activation thresholds
- link the new evidence pack from the docs index and dashboard guide
- cover the doc with a dashboard test and keep PR conflict-resolution modal styling aligned after merge

Files changed:
 docs/README.md                                     |  1 +
 docs/dashboard-guide.md                            |  2 +-
 docs/goals-refinement-evidence-pack.md             | 74 ++++++++++++++++++++++
 .../goals-refinement-evidence-pack-docs.test.ts    | 22 +++++++
 .../dashboard/app/components/PrCreateModal.css     |  6 +-
 .../dashboard/app/components/PrCreateModal.tsx     |  2 +-
 6 files changed, 103 insertions(+), 4 deletions(-)

Fusion-Task-Id: FN-5963

Fusion-Task-Lineage: 22cefe55-6b1e-4ff7-8fb1-5734f2b5a29b
This commit is contained in:
gsxdsm
2026-06-03 16:20:32 -07:00
parent 26bc80a0ad
commit 05098e4033
6 changed files with 103 additions and 4 deletions

View File

@@ -0,0 +1,22 @@
import { describe, expect, it } from "vitest";
import { readFileSync } from "node:fs";
import { resolve } from "node:path";
describe("Goals refinement evidence pack documentation", () => {
it("documents the required evidence fields, activation threshold, and unmet-threshold rule", () => {
const doc = readFileSync(
resolve(__dirname, "../../../../docs/goals-refinement-evidence-pack.md"),
"utf-8",
);
expect(doc).toContain("**Observed pain:**");
expect(doc).toContain("**Frequency:**");
expect(doc).toContain("**Impacted workflow:**");
expect(doc).toContain("**Reproduction artifacts:**");
expect(doc).toContain("at least two independent real-use observations");
expect(doc).toContain(
"Slice 4 remains pending and no implementation tasks are created",
);
});
});

View File

@@ -80,7 +80,8 @@
gap: var(--space-sm);
}
.pr-create-modal__preflight-remediation {
.pr-create-modal__preflight-remediation,
.pr-create-modal__conflict-resolution {
display: flex;
align-items: center;
justify-content: space-between;
@@ -276,7 +277,8 @@
.pr-create-modal__grid-two,
.pr-create-modal__commit-row,
.pr-create-modal__file-row,
.pr-create-modal__preflight-remediation {
.pr-create-modal__preflight-remediation,
.pr-create-modal__conflict-resolution {
display: flex;
flex-direction: column;
align-items: flex-start;

View File

@@ -421,7 +421,7 @@ export function PrCreateModal({
</div>
) : null}
{preflight?.conflictsWithBase ? (
<div className="card pr-create-modal__preflight-remediation">
<div className="card pr-create-modal__conflict-resolution">
<div className="pr-create-modal__conflict-copy">
<p className="pr-create-modal__conflict-title">Resolve conflicts with AI</p>
<p className="pr-create-modal__conflict-message">Fusion will use AI to resolve conflicts on this branch and push it.</p>