> For the complete documentation index, see [llms.txt](https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/.spec_system/archive/sessions/phase29-session04-corroboration-gate/tasks.md).

# Task Checklist

**Session ID**: `phase29-session04-corroboration-gate` **Total Tasks**: 22 **Estimated Duration**: 3-4 hours **Created**: 2026-06-19

***

## Legend

* `[x]` = Completed
* `[ ]` = Pending
* `[P]` = Parallelizable (can run with other \[P] tasks)
* `[SNNMM]` = Session reference (NN=phase number, MM=session number)
* `TNNN` = Task ID

***

## Progress Summary

| Category       | Total  | Done   | Remaining |
| -------------- | ------ | ------ | --------- |
| Setup          | 2      | 2      | 0         |
| Foundation     | 6      | 6      | 0         |
| Implementation | 9      | 9      | 0         |
| Testing        | 5      | 5      | 0         |
| **Total**      | **22** | **22** | **0**     |

***

## Setup (2 tasks)

Initial configuration and environment preparation.

* [x] T001 \[S2904] Verify analyzer state, completed prerequisites, and Session 04 stub scope before editing (`.spec_system/PRD/phase_29/session_04_corroboration_gate.md`)
* [x] T002 \[S2904] Verify current source-local, signal-identity, scoring, and action-priority data flow before adding corroboration (`scripts/lib/ai-runtime/source-breakdown.ts`)

***

## Foundation (6 tasks)

Core structures and base implementations.

* [x] T003 \[S2904] \[P] Create corroboration helper contract with schema-validated identity inputs and explicit unavailable fallback (`scripts/lib/ai-runtime/corroboration.ts`)
* [x] T004 \[S2904] Add `corroboration` constants, default object, topic schema field, and legacy-safe parsing with exhaustive enum handling (`src/extensions/trend-finder/schema.ts`)
* [x] T005 \[S2904] Add `originator-only` risk flag, `corroboration_gate` score adjustment key, and action cap/reason enum contracts with explicit fallback behavior (`src/extensions/trend-finder/schema.ts`)
* [x] T006 \[S2904] Prepare source-breakdown wiring types for corroboration assignment and deterministic risk flag merging (`scripts/lib/ai-runtime/source-breakdown.ts`)
* [x] T007 \[S2904] Prepare scoring and action-priority inputs for corroboration-aware downranks and caps with schema-validated input (`scripts/lib/ai-runtime/scoring.ts`)
* [x] T008 \[S2904] Add corroboration label, tone, description, and risk flag copy mappings with accessibility text (`src/extensions/trend-finder/view-model.ts`)

***

## Implementation (9 tasks)

Main feature implementation.

* [x] T009 \[S2904] Implement reviewed-identity entity derivation from source-local metadata, competitor matches, signal syndication groups, and source fallback without new identity providers (`scripts/lib/ai-runtime/corroboration.ts`)
* [x] T010 \[S2904] Implement corroboration status, role count, dominance ratio, caution, and bounded explanation fields with deterministic unavailable handling (`scripts/lib/ai-runtime/corroboration.ts`)
* [x] T011 \[S2904] Wire corroboration into source breakdowns before action recommendations and merge `originator-only` idempotently (`scripts/lib/ai-runtime/source-breakdown.ts`)
* [x] T012 \[S2904] Apply bounded corroboration score downrank and named score adjustment while leaving confirmed topics unaffected (`scripts/lib/ai-runtime/scoring.ts`)
* [x] T013 \[S2904] Cap originator-only action priority below `act_now` with warning and next-step copy that requests independent confirmation (`scripts/lib/ai-runtime/action-priority.ts`)
* [x] T014 \[S2904] Render corroboration in derived source summaries with stable dimensions, labels, focus text, and no layout shift (`src/extensions/trend-finder/components/source-breakdown.tsx`)
* [x] T015 \[S2904] Project corroboration into static Brief export using bounded labels and counts only (`scripts/extensions/trend-finder/static-brief-export.ts`)
* [x] T016 \[S2904] Render static Brief corroboration markup through existing escaping and privacy-safe projection (`scripts/extensions/trend-finder/static-brief-renderer.ts`)
* [x] T017 \[S2904] Update payload reporting and Trend Finder docs for corroboration status, score/action caps, and distinction from `single-source-signal` (`docs/extensions/trend-finder-scoring.md`)

***

## Testing (5 tasks)

Verification and quality assurance.

* [x] T018 \[S2904] \[P] Add helper and source-breakdown tests for originator-only, weak, confirmed, unavailable, competitor, syndication, and risk flag propagation (`scripts/lib/ai-runtime/__tests__/corroboration.test.ts`)
* [x] T019 \[S2904] \[P] Add scoring and action-priority tests proving originator-only topics are down-weighted and cannot become `act_now` (`scripts/lib/ai-runtime/__tests__/scoring.test.ts`)
* [x] T020 \[S2904] \[P] Add schema, view-model, and component tests for legacy defaults, labels, tones, accessibility labels, and long text safety (`src/extensions/trend-finder/__tests__/view-model.test.ts`)
* [x] T021 \[S2904] \[P] Add static Brief privacy tests proving projected corroboration renders without raw entity IDs, private paths, or unreviewed identity internals (`scripts/extensions/trend-finder/__tests__/static-brief-export.test.ts`)
* [x] T022 \[S2904] Run focused Vitest suites, payload-size check, type checks as needed, and ASCII validation for session files (`package.json`)

***

## Completion Checklist

Before marking session complete:

* [x] All tasks marked `[x]`
* [x] All tests passing
* [x] All files ASCII-encoded
* [x] implementation-notes.md updated
* [x] Ready for the validate workflow step

***

## Next Steps

Run the implement workflow step to begin AI-led implementation.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/.spec_system/archive/sessions/phase29-session04-corroboration-gate/tasks.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
