diff --git a/docs/index.html b/docs/index.html index d4c33ce..ecb485d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -3,213 +3,326 @@ -JANUS — The Unified Eval Engine for AI-Assisted Development - +JANUS — A safe, disciplined, time-saving workspace for AI-assisted development + - - - -
-
+ + @@ -217,55 +330,110 @@
- v0.1.10 · single Rust binary · MIT - -

The quality gate for
AI-assisted development

-

Evaluate before you build. Score before you ship. Catch regressions before they ship for you — from one binary, backed by one SQLite database.

- -
- 0 runtime deps - 5.4 MB binary - ~10 ms cold start - 58 tests passing - macOS · Linux · Windows +
+
+ v0.1.10 · single Rust binary · MIT +

+ A safe, disciplined, + time‑saving workspace + for AI-assisted dev. +

+

Janus captures every coding session automatically, proves every change through 9 quality gates, and reports honest adoption metrics — from one Rust binary, backed by one SQLite database. No commands to remember.

+ +
+ 0 setup after install + 5.5 MB binary + 0 runtime deps + 58 tests +
+
+ + +
- -
+ +
-
-
- - harness-cli — zsh +
+ The habit problem, solved +

Every session captured — with zero effort

+

A durable layer only works if it is actually fed. Janus wires a session-end hook that records your work the moment you stop typing — no gate command to remember.

+
+
+
+ new +
+

Auto-capture

+

A session-end hook writes one trace per session — tokens, active time, files touched, ticket, and workspace — straight into SQLite.

+
+
+ new +
+

query coverage

+

One command shows adoption at a glance: how many stories are traced, how many traces carry token & time telemetry, and a single RAG verdict.

+
+
+ new +
+

Honest metrics

+

Below 10 stories, compliance reports grey — insufficient data instead of a falsely reassuring green. Trust is earned, not faked.

-
-

- - Illustrative harness session — the runtime, gates and eval verdict in real CLI shape.

- -
+ +
-

Why Janus

-

One binary. Every guardrail.

-

A harness that governs how a change reaches merge, and an eval harness that proves your skills still behave — sharing a single queryable database.

-
-

9 quality gates

Pre-flight, acceptance criteria, recall, matrix, evidence, review, push permission, Jira tier, reconciliation — scaled by risk lane.

-

14 eval commands

run · baseline · diff · status · promote · trend · accept · apply · ab · rebaseline · analyze · suggest · goal · quality.

-

9 check kinds

Shell, JSON-path, file, transcript grep (±), LLM judge, prompt & response quality, and context relevance.

-

5 attribution classes

On a regression, Janus says why: skill, fixture, model, cross-skill change, or unknown drift.

-

Native & tiny

A 5.4 MB Rust binary with zero runtime dependencies. No bash, no jq, no python. Cold start ≈ 10 ms.

-

Cost-aware

Per-case token & time caps, a daily spend budget, and model pricing baked in for honest accounting.

+
+ Try it +

Watch Janus work

+

Pick a command. This is the real CLI shape — the same output you get in your own terminal.

+
+
+
+ + + + +
+
+
+ + ~/project — harness-cli + live +
+
+
+

Illustrative session — numbers reflect a real Janus database after a week of use.

@@ -273,83 +441,115 @@

One binary. Every guardrail.

-

How it works

-

Intent → Gate → Merge

-

Every change enters one intake and is routed to a risk lane. The lane decides which gates apply.

-
-
01 · INTAKE

Classify the risk

Record the work; Janus picks a lane — tiny, normal, or high-risk — from its risk checklist.

harness-cli intake --type feature \
  --summary "Add OAuth" --lane normal
-
02 · GATE

Prove each criterion

Acceptance criteria are extracted, mapped to tests, and proven with evidence — reviewer ≠ implementer.

harness-cli story verify US-001
harness-cli query matrix
-
03 · EVAL

Guard against drift

Behavior-regression evals run on push. A regression is attributed, not just flagged red.

harness-cli eval run \
  --skill=code-reviewer --mode=2tier
+
+ How it works +

Intake → Gate → Persist

+

Every change enters one intake, is routed to a risk lane, proven through the lane's gates, then captured for good.

+
+
+
+
01 · INTAKE
+

Classify the risk

+

Record the work; Janus picks a lane — tiny, normal, or high-risk — from a 10-item risk checklist.

+
harness-cli intake --type feature \
  --summary "Add OAuth" --lane normal
+
+
+
02 · GATE
+

Prove each criterion

+

Acceptance criteria are extracted, mapped to tests, and proven with evidence — reviewer ≠ implementer.

+
harness-cli story verify US-001
harness-cli query matrix
+
+
+
03 · PERSIST
+

Capture, automatically

+

On session end the hook records the trace; nothing relies on you remembering to log it.

+
harness-cli query coverage
# adoption green · 98% instrumented
+
-
-

The 9 gates, in order

-
- T0 Pre-flight - T1 AC extraction - M1 Recall - T2 Matrix - T3 Evidence - RV Review - P1 Push perm - P2 Jira tier - T4 Reconcile - M2 Persist +
+
The 9 gates, in order
+
+ T0 Pre-flight + + T1 Criteria + + M1 Recall + + T2 Matrix + + T3 Evidence + + RV Review + + P1 Push perm + + T4 Reconcile + + M2 Persist
- -
+ +
-

Eval harness

-

Does this skill still do what it did?

-

Pick a mode, run the checks, and on a regression get the likely cause — not just a red X.

-
-

smoke

One sample per case. Fast feedback for every commit and pre-push hook.

-

full

Three samples per case. Thorough scoring for release-grade confidence.

-

2-tier

Smoke first, then escalate only the failures to full. Best of both.

+
+ Adoption, measured +

The dashboard that keeps you honest

+

Instrumentation is the whole point — a trace with no tokens can't tell you what a session cost. Janus tracks that too.

+
+
+
+ $ harness-cli query coverage + Adoption: green +
+
+
stories with ≥1 trace12 / 12 · 100%
+
traces with token estimate45 / 46 · 98%
+
traces with duration45 / 46 · 98%
+
workspaces trackedpersonal · geargames
+
-

Promote a skill from warn-only to blocking once it's earned trust — a blocking regression exits 12 and stops the push.

-

Compare

-

More surface, fewer moving parts

-

Counts below are verifiable from the source and harness-cli --help.

+
+ Compare +

More guardrails, fewer moving parts

+

Everything below is verifiable from the source and harness-cli --help.

+
- + + + + - - - - - - - - + + +
CapabilityBash harnessesJanus
CapabilityBash / script harnessesJanus
Automatic session capturehook · zero-config
Adoption & instrumentation metricsquery coverage
Honest RAG (grey on thin data)built in
Quality gates09
Eval commands~614
Check kinds~69
Attribution classes~45
Eval modes13
LLM judge (your model)
Single binary, zero deps
SQLite-native state
Windows support
Single binary, zero deps
SQLite-native state
Opt-in eval harness (--features eval)
-

Team-level ROI numbers (e.g. “bugs caught”, “hours saved”) are scenario projections, not measured benchmarks of this repo. The counts above are real.

+

The eval harness (behaviour-regression testing) ships as an opt-in cargo feature — kept out of the default build to stay lean.

-
-
5.4 MB
single binary
-
~10 ms
cold start
-
58
tests passing
-
9 / 14 / 9
gates / eval cmds / checks
-
0
runtime deps
+
+
0 MB
single binary
+
0
quality gates
+
0
tests passing
+
0%
traces instrumented
+
0
runtime deps
@@ -357,13 +557,12 @@

More surface, fewer moving parts

-

The name

-

Why “Janus”?

-
+
The name

Why “Janus”?

+
Janus mark — two faces and a gate
-

In Roman myth, Janus is the god of gates, doorways and transitions — depicted with two faces, one turned to the past and one to the future.

-

The harness does the same: it weighs what was (your baseline) against what is (your current run), and guards the threshold between them. The mark's checked seam is the gate, passed.

+

In Roman myth, Janus is the god of gates, doorways and transitions — shown with two faces, one turned to the past and one to the future.

+

The tool does the same: it weighs what was (your baseline, your last session) against what is (your current run), and guards the threshold between them. The mark's checked seam is the gate, passed.

@@ -372,26 +571,26 @@

Why “Janus”?

-

Install

-

Up and running in seconds

-

One command installs the binary and git hooks into your project.

-
-
install
-
+
+ Install +

Up and running in seconds

+

One command installs the binary and wires the git + session hooks into your project.

+
+
+
install
+
# one-liner
$ curl -fsSL https://raw.githubusercontent.com/hoainho/janus/main/scripts/install-harness.sh | bash -s -- --yes
-
[ok] harness-cli installed · git hooks wired
+
[ok] harness-cli installed · git + session hooks wired
$ harness-cli init
-
[ok] SQLite schema applied — ready to evaluate.
+
[ok] SQLite schema applied — sessions now capture automatically.
# or via npm
$ npm install -g @nano-step/janus
-
@@ -402,103 +601,204 @@

Up and running in seconds

-

The Unified Eval Engine for AI-Assisted Development.

-

MIT License © 2025–2026 Hoài Nhớ. All rights reserved.

+

A safe, disciplined, time-saving workspace for AI-assisted development.

+

MIT License © 2025–2026 Hoài Nhớ.