AI Adapt Scan Project Status
Static project tracker optimized for the next agent and for human status checks. Update the projectSections array in this route when a slice moves.
Agent update contract
Keep statuses terse. Use done only when the route or backend path exists and typechecks. Use waiting for product-owner decisions. Use blocked for non-engineering blockers. Use next for buildable backlog.
Source docs folded into this tree
- nextP0 - Prove one baseline -> pulse path end to end
p0-baseline-pulse-proofThe investor-readiness docs agree that the weakest point is not report generation; it is proving the closed loop from baseline report to commitment, pulse launch, pulse report, and next action.
prior_run_contextpulse_deltascan_action_commitmentspulse_measurement_plansNext: Use one seeded or real leader path, submit/seed pulse rater responses, run analysis, inspect memory artifacts, deliver through operator review, and verify the leader can understand the pulse delta without engineering narration.
- nextGet pulse run to anonymity threshold
p0-pulse-data-thresholdLeader-side pulse launch exists, but the next proof needs a pulse run with enough rater responses to analyze.
Next: Use the first-party rater route or dev seeding endpoint to reach n >= 5 on the linked pulse scan.
- nextRun pulse pipeline and operator review
p0-pulse-report-reviewMemory injection is implemented, but the product still needs a full pulse report quality check with Strategy Context snapshots.
Next: Start analysis, inspect report_markdown, safety, prior_run_context, and pulse_delta, then use the operator review path to deliver.
- nextMake the demo path replayable
p0-demo-reset-scriptCurrent local state was manually mutated during pulse launch testing. A deterministic demo path should not depend on hand-edited rows.
Next: Add or document a safe seed/reset command for one baseline/pulse fixture that can be replayed before demos.
- nextP1 - Build Dialogue Agent and validation harness
p1-dialogue-agentDocs consistently identify per-gap conversation prompts as the highest-value next leader activation slice after the loop proof.
dialogue_prompts artifact missingno dialogue step in pipeline.tsNext: Add structured dialogue_prompts, include them in Safety, summarize them in the report/results surface, and validate with acme-custom plus an adversarial unapproved-tool case.
- nextArtifact and structured output
p1-dialogue-schemaSchema should carry targetPracticeId, gapDirection, gapMagnitude, openingQuestion, probes, listenFor, and candidateCommitment.
Next: Add dialogue_prompts to artifact_type, pipeline ArtifactKind, prompt builder, and parser.
- nextSafety and report integration
p1-dialogue-safetyDialogue guidance must respect anonymity, approved tools, restricted data, no scripts, and no causal or ROI claims.
Next: Add dialogue evidence to Safety and a compact Conversations to run section after the gap report sections.
- in progressP1 - Add communication ledger and loop health
p1-orchestration-visibilityThe notification docs reframe this as response-loop intelligence: Sarah needs to see who is stuck, what was sent, and whether the desired product action happened. The first email ledger and operator backend inbox QA layer now exist.
no notifications tablescommunication_events/recipients/messages added for real Resend pathspersona inbox QA is currently under /operator/backend, not a dedicated /operator/communications routeNext: Continue from the database-backed inbox simulator: add outcome completion updates, loop-health rollups, notification projections, and eventually a dedicated read-only operator communications timeline.
- nextP1 - Finish pulse and reminder orchestration
p1-pulse-orchestrationLeader-side start-now and operator support launch exist, but due pulses, reminders, and re-invites still depend on manual action.
Next: Build an idempotent scheduler/reconcile path for due pulse drafts, rater reminders at 48h and 7d, and pulse re-invites.
- nextP2 - Groups, campaigns, and Sarah rollups
p2-groups-campaigns-rollupsCurrent scans still use free-text cohort/team fields. The lock docs make groups, group_members, scan_campaigns, campaign status, and cohort rollups first-class before scale.
Next: Add campaign schema and launch semantics only after the single-leader loop is demo-reliable.
- nextP2 - Enterprise hardening before scale
p2-production-hardeningScoped auth, durable jobs, token lifecycle, artifact retention, cost controls, and horizontal event fanout are still production blockers.
Next: Prioritize cross-tenant negative tests and token TTL/revocation before exposing broader customer data.
- waitingWaiting - Product-owner decisions
waiting-product-decisionsSome important slices should not be guessed by engineering.
Next: Resolve 36 self-view prompt copy, CXTO ROI proxy set, brand/domain/sender identity, group scheduling semantics, pulse cadence default, and blocked-scan UX.
- doneOperator surface: Sarah
operator-sarahStrategy Context capture, operator scan list, leader invite creation, review gate, and shared Sarah nav are built.
/strategy-context/operator/scans/operator/scans/new/operator/scans/[id]/review- doneStrategy Context substrate and snapshot timing
strategy-context-substrateOrganizations, organization context, scan snapshots, and interpretation-only pipeline grounding exist.
organization_context_snapshot artifactsnapshot captured when self-view starts - doneHuman review before delivery
operator-reviewReports still stop at review/flagged/blocked states until an operator approves delivery.
- nextGroups, campaigns, and scheduled sends
campaignsStill deferred. Current leader scans use free-text team/cohort fields, not campaign tables.
Next: Build groups, group_members, scan_campaigns, campaign send scheduling, and cohort rollups.
- doneLeader surface: Johan / Mikael
leader-surfaceLeader can complete self-view, invite team, watch status, view report, commit actions, schedule/manage a pulse, and start a due pulse.
/leader-scans/[id]/self-view/leader-scans/[id]/team-invites/leader-scans/[id]/status/leader-scans/[id]/results- doneFirst-party self-view UX
self-view36-statement flow, immutable submit, auto-advance, keyboard shortcuts, and locked post-submit state.
- doneGap-first report and action commitments
leader-resultsLeader-facing report viewer renders markdown, saves generated commitments, and starts the loop.
- donePulse draft management
pulse-managementLeader status page shows committed actions, next pulse, targeted practices, edit drawer, and cancel/update actions.
- doneLeader-side due pulse launch
leader-pulse-launchBaseline dashboard can start a due pulse draft, lock the plan, launch rater invites, and link to the pulse dashboard.
POST /leader-scans/:id/pulse-draft/launchStart pulse now CTA - nextAuto-fire pulse on due date
pulse-auto-fireNo scheduler yet. A draft pulse remains draft until launched manually.
Next: Daily job: find pulse scans with status=draft and pulseDueAt <= now, then trigger existing invite path.
- doneOperator pulse launch / support control
operator-pulse-support-launchOperator scan detail now shows a support control for scheduled draft pulses. It launches the pulse immediately through the existing pulse-draft launch endpoint and sends planned rater invites without impersonating the leader.
/operator/scans/[id]POST /leader-scans/:id/pulse-draft/launch
- doneRater surface: Anna
rater-surfaceRaters now use a first-party anonymous questionnaire instead of the embedded Tally experience.
/leader-scans/[id]/rater#rater_token=.../raters- doneFirst-party rater questionnaire
rater-questionnaireToken-authenticated anonymous rater flow mirrors the self-view interaction pattern and submits directly to backend.
- doneRead-only rater links overview
rater-overviewOperator page lists scan runs newest-first, exposes each rater link, shows completion, and includes all scans for that leader.
- nextRater reminders
rater-reminders48-hour and 7-day reminder orchestration is not built.
Next: Add reminder jobs after scheduler conventions are decided.
- waitingExecutive surface: CXTO
executive-surfacePersona exists in the model, but the executive dashboard is not built and ROI proxy rules need product confirmation.
Next: Confirm leading-indicator ROI proxy set before building /executive.
- done4P / 12P / 36-statement instrument
instrumentRater prompts and deterministic scoring are implemented. Self-view prompt slots exist.
- blocked36 product-approved self-view prompts
self-promptsEngineering supports draft placeholder mode, but production copy still needs product-owner approval.
Next: When approved, disable CLAUDE_SELFPROMPT_DRAFT_MODE for production flows.
- doneAgent pipeline and Safety pass
pipelineContext, Diagnostic, Themes, Experiments, Habits, Report, Safety, and repair pass are wired and tested.
- doneLoop memory layer
memoryprior_run_context, pulse_delta, scan_action_commitments, and pulse_measurement_plans persist loop state in DB.
- nextGap-aware pulse full validation
pulse-validationPulse memory injection exists and leader launch works, but a full pulse run with rater data, report generation, review, and delivery still needs exercising.
Next: Run a pulse through threshold, analysis, Safety, operator delivery, and leader results. Confirm prior_run_context and pulse_delta shape the output.
- nextDialogue Agent
dialogue-agentStill the highest-value post-loop product slice: per-gap conversation prompts between baseline and pulse.
Next: Build dialogue_prompts artifact, Safety wiring, report summary section, and validation harness.
- doneCurrent Agent SDK baseline
current-agent-sdk-baselineThe production path remains the existing Claude Agent SDK pipeline with Postgres-backed scan state, artifacts, Safety pass, and loop memory.
Next: Treat Managed Agents as a spike track until cost, access, data handling, and quality gates are proven against this baseline.
- nextManaged Agents evaluation track
managed-agents-evaluation-trackOfficial docs position Managed Agents as a beta hosted harness for long-running, stateful sessions with agent definitions, environments, sessions, tools, MCP, and persisted events.
Next: Create a small spike branch that mirrors one non-critical report or dialogue flow; do not migrate the core pipeline by default.
- nextRead-only memory store spike
managed-memory-store-spikeMemory stores look useful for agent-facing reference material, but product truth should stay in Postgres and untrusted rater or team notes should not enter read-write memory.
Next: Test one read-only org/practice/policy store mounted into a Managed Agent session and compare prompt size, report quality, and traceability against the current DB snapshot path.
- nextRead-only product-state MCP tools
product-state-mcp-toolsThe safest bridge is curated backend tools over product state, not raw SQL or free-form database access.
Next: Expose get_scan_status, get_loop_state, get_report_artifact, and list_scan_events as read-only MCP tools/resources before any managed runtime test.
- waitingManaged Outcomes quality gate spike
outcomes-quality-gate-spikeOutcomes could validate dialogue prompts, diagnostics, and reports with a rubric-driven grader, but access is gated and it must be compared with the current Safety pass.
Next: Request access, then test one dialogue_prompts rubric for opening question, probes, evidence grounding, commitment ask, privacy guardrails, and no-ROI claims.
- waitingManaged multi-agent spike
managed-multiagent-spikeOfficial docs support a coordinator delegating to context-isolated agents with their own model, prompt, tools, MCP, and skills, sharing the same filesystem.
Next: After access is approved, test this on cross-leader pattern diagnosis or dialogue design, not on the current single-scan report chain.
- waitingDreams research preview
dreaming-research-previewDreams could support weekly consolidation of patterns across sessions and memory stores, but it is research preview and increases the risk of treating contaminated notes as trusted memory.
Next: Only test after a sanitization/redaction policy exists and the read-only memory-store spike is understood.
- nextManaged Agent webhooks / async completion
managed-webhook-async-flowManaged webhooks are interesting for long-running sessions, while the current app already has pipeline_events and live status paths.
Next: If a Managed Agent spike runs, map webhook callbacks into existing pipeline_events, operator notifications, and failure states instead of creating a parallel event model.
- nextAgent SDK billing and unit economics
agent-sdk-billing-unit-economicsAnthropic docs flag that Agent SDK and claude -p subscription-plan usage move to a separate monthly Agent SDK credit on 2026-06-15.
Next: Model per-scan and per-pulse cost with API-key billing assumptions, per-org budgets, and queue concurrency limits before increasing automation.
- doneHome persona entry cards
home-personasExecutive, Operator, Leaders, Raters, and Yomento operator cards exist. Backend personas decide signed-in access.
- doneSarah operator chrome
operator-chromeShared navigation, width normalization, operator pages, and review polish landed.
- doneLeader scan list run grouping
leader-flat-list/leader-scans now groups baseline and pulse runs under each leader, and /raters shows related baseline/pulse history inside each scan card.
frontend/src/lib/leader-dashboard.ts/leader-scans/raters - waitingBlocked scan UX
blocked-uxProduct decision still open for what Johan sees and what Sarah sees when Safety blocks a scan.
Next: Default remains neutral leader copy and operator-visible status.
- nextStrategy Context mid-flight warning
mid-flight-context-bannerSnapshot mechanics are enforced, but Sarah has no UI cue that edits affect only future scans.
Next: Add a banner when active scans exist.
- doneClickable Sarah -> leader -> rater chain
skanska-clickable-chainCurrent app has functional Sarah setup, leader self-view/status/results/loop, and first-party rater flow.
- nextInvestor demo loop rehearsal
investor-demo-loop-rehearsalThe clickable chain exists, but the docs call out the baseline -> pulse -> delta path as the remaining proof that makes the product feel more than a one-time report.
Next: Rehearse one deterministic Sarah -> Johan -> Anna -> review -> commitments -> pulse -> delta path and capture any breakages before adding broad campaign surfaces.
- waitingSkanska deadline tracking
skanska-datesDocs cite clickable prototype due 2026-05-19 or 2026-05-20, client meeting 2026-05-25.
Next: Confirm whether this external deadline is still live before prioritizing polish over Dialogue Agent.
- nextMulti-stage email orchestration
email-orchestrationLeader invite and rater invite paths exist. Reminder cadence, pulse re-invite, campaign milestones, and complete lifecycle orchestration remain open.
- nextOperator notification center
notification-centerNo durable notifications or notification_deliveries tables exist yet. The MVP should project high-signal scan events into a bell/inbox without rendering raw pipeline_events.
Next: Add notifications, notification_deliveries, projection for ready/failed/delivered/pulse events, list/count/read routes, and a bell in OperatorShell.
- in progressOperator Communications Timeline
operator-communications-monitorInitial real email visibility now lives in /operator/backend as persona inbox QA backed by communication_events, communication_recipients, and communication_messages. A fuller timeline still needs hierarchy filters, campaign context, and outcome state transitions.
Next: Add campaign/group fields when those models land, compute delivered/opened/clicked/responded transitions, and graduate the read-only view into /operator/communications once the backend lab surface gets crowded.
- nextLoop health and response outcomes
loop-healthThe response-loop docs prioritize knowing who is stuck, which action is blocking progress, and whether a nudge produced the intended product action.
Next: Compute leader loop health states, attach desired outcomes to communication rows, and show stuck loops with owner, blocker, recommended action, and last nudge.
- doneNo-ROI and anonymity guardrails
claims-policyReports remain leading-indicator only, deterministic scoring is unchanged, and anonymity floor n >= 5 remains hard.
- waitingName, domain, and sender domain
brand-domainEcho / AI Adapt Scan are working names. Long-term brand and email sender domain still need owner decision.
- nextScoped auth and tenant isolation
scoped-authThe prototype still relies heavily on broad admin-token access. Production needs role-scoped access, auditability, and hard tests against cross-organization data leakage.
Next: Replace broad internal access paths with scoped permissions for operator, leader, rater, executive, and service jobs. Add cross-tenant negative tests for every org/scan/rater query.
- nextDurable background jobs
durable-background-jobsAI pipeline runs, email sends, reminders, pulse launch, retries, and scheduler work should not depend on one request lifecycle or one process staying alive.
Next: Introduce a real queue/job runner with idempotency keys, retry ceilings, dead-letter handling, and visible job state.
- nextHorizontal live-event scaling
sse-horizontal-scaleIf SSE or pipeline events are process-local, multiple backend instances will make live status unreliable.
Next: Back event fanout with Redis/pubsub or another shared event bus before running more than one backend instance.
- nextLeader and rater token lifecycle
token-lifecycleMagic links and rater links are operationally useful, but production needs expiry, revocation, resend semantics, and careful internal exposure controls.
Next: Define token TTLs, rotation/revoke endpoints, resend behavior, and audit logs for token-bearing links shown in operator tools.
- nextPrompt and artifact retention policy
prompt-artifact-retentionFull prompts and artifacts are valuable for debugging but can contain sensitive organization context or open-text feedback.
Next: Define retention windows, redaction rules, role-gated access, and production-safe debug views for agent_runs.prompt and raw artifacts.
- nextAI cost, rate, and concurrency controls
ai-cost-rate-controlsPer-step caps exist, but production also needs per-org budgets, queue concurrency limits, rate limiting, retry ceilings, and cost/failure dashboards.
Next: Add operational limits around pipeline start, retry behavior, Anthropic spend, and concurrent agent runs.