{% extends "base.html" %} {% block title %}{{ project.project_key }} · watchmen{% endblock %} {% block content %}

{{ project.project_key }}

{{ project.source_repo|replace("/Users/" ~ project.source_repo.split("/")[2], "~") if project.source_repo and project.source_repo.startswith("/Users/") else project.source_repo }}
View metrics →
View curator runs →
View thesis →
{% include "_action_banner.html" %}
Skills
{{ skills|length }}
Thesis days
{{ thesis_days|length }}
Last analyst day
{{ project.last_analyst_day or "·" }}
{# ─── Impact: per-project before/after ────────────────────────────────── Renders when curator has run at least once AND we have ≥3 sessions on each side of that date. Otherwise the section explains why — never silently disappears. All numbers are descriptive; the verdict line names the direction but does not claim causation. #}

Impact

Sessions before vs after curator first landed for this repo. Correlation only — not a controlled experiment.
{% if impact.treatment_date %}
first curated {{ impact.days_since_treatment }}d ago ({{ impact.treatment_date }})
{% endif %}
{% if impact.enough_data %}
Tool errors per session · 16 weeks
Before vs after curator
pre post
Sessions {{ impact.pre.sessions_n }} {{ impact.post.sessions_n }}
Median tool errors {{ '%.1f'|format(impact.pre.median_errors) }} {{ '%.1f'|format(impact.post.median_errors) }}
Median prompts {{ '%.0f'|format(impact.pre.median_prompts) }} {{ '%.0f'|format(impact.post.median_prompts) }}
Median cost ${{ '%.2f'|format(impact.pre.median_cost) }} ${{ '%.2f'|format(impact.post.median_cost) }}
{% if impact.verdict %}
Direction: {{ impact.verdict }}.
{% endif %}
{% else %}
Not enough data yet. {{ impact.verdict_reason }} {% if impact.treatment_date %}
Keep using {{ project.project_key }}; the comparison will fill in as more sessions land.
{% endif %}
{% endif %}
{% if skills %}

Skills

{% for s in skills %}
{{ s.slug }}
{{ s.description }}
{{ s.script_count }} script{{ "" if s.script_count == 1 else "s" }}
{% endfor %}
{% endif %} {% if claude_md %}

CLAUDE.md

{{ claude_md|safe }}
{% else %}
No CLAUDE.md generated yet. Run watchmen curate {{ project.project_key }}.
{% endif %} {% endblock %}