<.breadcrumbs> <:crumb navigate={~p"/"}>registry <:crumb navigate={TarakanWeb.RepositoryPaths.repository_path(@task.repository)}> {@task.repository.owner}/{@task.repository.name} <:crumb>job/{@task.id}
{task_status(@task)} Review #{@task.linked_review.id} · {@task.linked_review.findings_count} findings · {@task.linked_review.review_status} Historical notes only - no structured Review Patch proposal {visibility_label(@task.visibility)} {kind_label(@task.kind)} · {provenance_label(@task.capability)} required · {short_sha(@task.commit_sha)}

{@task.title}

{String.trim(@task.description)}

Opened by @{@task.created_by.handle} · commit {short_sha(@task.commit_sha)}

Target report #{@task.target_review_id} <%= if @visible_target_review do %> · {@visible_target_review.findings_count} findings · {@visible_target_review.review_status} · {short_sha( @visible_target_review.commit_sha )} <% end %>

Reproduce or dispute every visible finding against the target report's exact commit.

  • {finding.severity} · {finding.file_path}:{finding.line_start} {finding.title}

Finding details are restricted until an authorized contributor claims the check.

Recorded checks

{confirmation.verdict} · {provenance_label(confirmation.provenance)} · @{confirmation.account.handle}

{confirmation.notes}

{confirmation.evidence}
<%= cond do %> <% can_publish?(@task, @current_scope) -> %>

Confirm the scope is safe and useful before it enters the public job queue. Stewards and moderators who open jobs from a repository page usually skip this step - it auto-publishes with a default reason.

<.form for={@decision_form} id="publish-review-task-form" phx-submit="publish"> <.input field={@decision_form[:reason]} type="textarea" label="Approval reason (pre-filled - edit if you want)" placeholder="Why is this job safe, scoped, and useful?" /> <% created_by_current_account?(@task, @current_scope) -> %>

Awaiting a steward or moderator to publish this job.

<% true -> %>

This proposal is awaiting a steward or moderator.

<% end %>
<%= cond do %> <% owns_claim?(@task, @current_scope) -> %>

You hold this job until {Calendar.strftime(@task.claim_expires_at, "%H:%M UTC")}.

<%= cond do %> <% @task.kind == "verify_findings" and agent_primary_path?(@task) -> %>

Run an independent agent check against every finding in the target report.

CLI

tarakan worker --agent grok --once --jobs-only
<% @task.kind == "write_fix" and agent_primary_path?(@task) -> %>

The autonomous worker will produce a reviewable unified diff and test plan without modifying the repository.

CLI

tarakan worker --agent grok --once --jobs-only
<% agent_primary_path?(@task) -> %>

This job requires agent work.

CLI

tarakan report --agent grok --job {@task.id} --yes
# or: tarakan report --agent grok --job {@task.id} --interactive

Agents: grok, codex, claude, kimi.

<% @task.kind == "verify_findings" -> %> <.form for={@verification_form} id="review-task-verification-form" phx-submit="complete_verification" >
<.input field={@verification_form[:provenance]} type="select" label="How was this check produced?" options={@provenance_options} /> <.input field={@verification_form[:verdict]} type="select" label="Overall check" options={[{"Confirmed", "confirmed"}, {"Disputed", "disputed"}]} /> <.input field={@verification_form[:notes]} type="textarea" label="Check notes" placeholder="Explain what was reproduced or why the report is incorrect." /> <.input field={@verification_form[:evidence]} type="textarea" label="Proof of concept or counter-evidence" placeholder="Commands, exact traces, observed output, and relevant file:line references" />
<% true -> %> <.form for={@contribution_form} id="review-task-completion-form" phx-change="validate_contribution" phx-submit="complete" >
<.input field={@contribution_form[:provenance]} type="select" label="How was this work produced?" options={@provenance_options} /> <.input field={@contribution_form[:summary]} type="textarea" label={ if @task.kind == "write_fix", do: "Fix summary", else: "Result summary" } placeholder={ if @task.kind == "write_fix", do: "What does the proposed patch change and why?", else: "What did you establish, reproduce, or refute?" } /> <.input field={@contribution_form[:evidence]} type="textarea" label={ if @task.kind == "write_fix", do: "Proposed unified diff and test plan", else: "Evidence and reproduction notes" } placeholder={ if @task.kind == "write_fix", do: "Paste a unified diff followed by tests that should prove the fix", else: "File paths, test commands, observations, and remaining uncertainty" } />
<% end %> <% can_claim?(@task, @current_scope) -> %>

Claiming reserves this job for two hours. Creators may claim and perform their own Jobs.

<% @task.claimed_by && ReviewTask.claim_active?(@task) -> %>

Claimed by @{@task.claimed_by.handle}.

<% true -> %> <.link navigate={~p"/accounts/log-in"} class="font-mono text-xs text-signal hover:underline" > Sign in to claim this task. <% end %>
<%= if can_review?(@task, @current_scope) do %>

Independent review

<.form for={@decision_form} id="review-task-decision-form" phx-submit="review" class="mt-5" >
<.input field={@decision_form[:reason]} type="textarea" label="Decision reason" /> <.input field={@decision_form[:evidence]} type="textarea" label="Independent evidence" />
<% else %>

Evidence submitted. Awaiting independent review.

<% end %>
<%= if can_disclose?(@task, @current_scope) do %>

Disclosure decision

<.form for={@disclosure_form} id="review-task-disclosure-form" phx-submit="disclose" class="mt-5" > <.input field={@disclosure_form[:reason]} type="textarea" label="Disclosure reason" placeholder="Why is this result safe and useful to disclose?" />
<.input field={@disclosure_form[:sensitive_data_reviewed]} type="checkbox" label="I checked the evidence for secrets, credentials, and personal data" />
<% else %>

<%= if @task.visibility == "restricted" do %> Accepted. Awaiting a disclosure decision. <% else %> This result has an attributable disclosure decision. <% end %>

<% end %>
Linked Review #{@task.linked_review.id} · {@task.linked_review.review_status} · {provenance_label(@task.linked_review.provenance)}

Structured findings

Request submitted. The linked report remains separately {@task.linked_review.review_status} until its findings are independently checked - closing this request does not accept the report.

  • {finding.severity} · {finding.file_path}:{finding.line_start}
    {finding.title}

    {finding.description}

<%= cond do %> <% @task.kind == "write_fix" -> %> Patch proposal v{@task.contribution.version} by @{@task.contribution.account.handle} <% @task.linked_review_id -> %> Notes v{@task.contribution.version} by @{@task.contribution.account.handle} <% true -> %> Historical notes v{@task.contribution.version} by @{@task.contribution.account.handle} <% end %> · {provenance_label(@task.contribution.provenance)}

<%= cond do %> <% @task.kind == "write_fix" -> %> Proposed fix <% @task.linked_review_id -> %> Result <% true -> %> Historical notes <% end %>

Free-text evidence only - no Findings on this submission.

Reviewable patch artifact only - Tarakan did not modify or push to the repository.

{@task.contribution.summary}

{if @task.kind == "write_fix", do: "Proposed patch and tests", else: "Evidence"}

{@task.contribution.evidence}
<.form for={@decision_form} id="cancel-review-task-form" phx-submit="cancel"> <.input field={@decision_form[:reason]} type="textarea" label="Cancellation reason" placeholder="Explain why this work should be withdrawn." />