The Autonomous Author / Page 09 — Readme

The Autonomous
Author

v0.5.0 MIT Licence Groq · Llama 3.1 70B GitHub Pages No Backend Vanilla JS Open Source

An explainability-first, human-gated documentation pipeline for technical writers. Five agents. One human gate. Zero black-box decisions. Runs entirely in your browser. No server, no installation, no data leaving your session without your knowledge.

What Is This

In two paragraphs.

The Autonomous Author is a client-side agentic documentation pipeline that helps technical writers produce a Google Style Guide-compliant first draft in under 15 minutes, starting from a Jira ticket, PR description, or free-text feature brief. It operates in two modes: Persona 1 (feature release documentation, Agile) and Persona 2 (document-driven development specs, Waterfall). The pipeline runs five sequential agents — Intake, Research, Draft, Compliance, and Review Prep — each surfacing an XAI reasoning card before passing control to the next. In P2 mode, an Ambiguity Detector fires after the Draft Agent to catch vague quantifiers, undefined terms, and missing error states before the spec reaches engineering review.

The writer enters the pipeline once — at the Review UI. Every agent-generated suggestion is visible, cited, and challengeable. The export gate is disabled until the writer has actioned every high-severity item. The Autonomous Author does not publish documents. It produces compliant, annotated, explainable first drafts that the writer owns, reviews, and decides to publish in their own tooling. This is a portfolio piece demonstrating production-grade agentic system design for an individual technical writer.

Quick Start

From zero to first draft in
under five minutes.

No installation. No accounts. No configuration beyond a Groq API key. The pipeline runs in your browser.

1

Get a free Groq API key

Go to console.groq.com, sign up for a free account, and create an API key. The free tier includes sufficient quota for dozens of pipeline runs per day. Keep the key — you'll need it in step 3.

2

Open the app

Visit username.github.io/autonomous-author (replace with the actual GitHub Pages URL after deployment). No login, no cookie banner, no onboarding flow. You land directly on the pipeline UI.

3

Enter your API key

Click the Settings icon (top right of the pipeline UI). Paste your Groq API key. It is encrypted with AES-256 and stored in localStorage — it never leaves your browser except in the Authorization header of Groq API calls.

4

Select your persona and workflow mode

Choose P1 (feature doc) or P2 (DDD spec). Choose Agile (new doc or delta update) or Waterfall (formal versioned artifact). These settings persist in localStorage as your default for future sessions.

5

Paste your input and run

Paste your Jira ticket, PR description, feature brief, or intent statement into the intake form. Click Run. Watch the Pipeline Monitor as each agent completes and surfaces its reasoning card. The Review UI activates when all agents complete — typically within 10–12 seconds.

6

Review, edit, and export

Read the compliance violations and ambiguity flags (P2). Accept, edit, or dismiss each item. Once all HIGH-severity items are actioned, the Export button activates. Copy to clipboard, download as Markdown, or download as HTML — then paste into Confluence, GitHub, or wherever you publish.

Repository Structure

Everything in one place.
No surprises.

autonomous-author/ ├── .github/ │ └── workflows/ │ └── deploy.yml — CI/CD: validate · hash · eval · deploy ├── agents/ │ ├── intake-agent.js — A-01: raw input → DocBrief │ ├── research-agent.js — A-02: DocBrief → ContextPack │ ├── draft-agent.js — A-03: ContextPack → DraftDocument (P1/P2) │ ├── ambiguity-detector.js — A-04: DraftDocument → AmbiguityReport (P2) │ ├── compliance-agent.js — A-05: DraftDocument → ComplianceReport │ └── review-prep-agent.js — A-06: all outputs → ReviewBundle ├── prompts/ │ ├── intake-agent.md — system prompt v1.3.0 │ ├── research-agent.md — system prompt v1.2.1 │ ├── draft-agent-p1.md — system prompt v2.0.0 │ ├── draft-agent-p2.md — system prompt v1.4.2 │ ├── ambiguity-detector.md — system prompt v1.1.0 │ ├── compliance-agent.md — system prompt v1.5.3 │ └── review-prep-agent.md — system prompt v1.0.1 ├── eval/ │ ├── fixtures-p1.json — 25 P1 labelled fixture pairs │ ├── fixtures-p2.json — 25 P2 labelled fixture pairs │ └── run-eval.js — evaluation harness runner (Node.js) ├── ui/ │ ├── intake-form.js — intake UI component │ ├── pipeline-monitor.js — live XAI card stream │ ├── review-ui.js — human gate · violation actions │ ├── export-panel.js — MD · HTML · clipboard export │ └── settings.js — API key management · preferences ├── pipeline.js — orchestrator · LangGraph-pattern · SHA verify ├── xai.js — XAI card builder · confidence scoring ├── rules.json — 80-rule compliance set v1.5.3 ├── prompt-manifest.json — SHA hashes · prompt versions · CI gate ├── pipeline-config.json — model ID · expected version · eval thresholds ├── docs/ — portfolio pages (this site) │ ├── index.html — PG 01 Overview │ ├── page-02.html → page-09.html │ └── styles.css ├── README.md — GitHub repo readme (mirrors this page) └── LICENCE — MIT
Running the Demo

Local development and
the live demo.

Local development

No build step required. Serve the repo root from any local HTTP server:

# Python (any machine with Python 3)
python3 -m http.server 8080

# Node.js (npx, no global install)
npx serve .

# Then open: http://localhost:8080

The pipeline makes calls to api.groq.com — you need a real Groq API key and an internet connection. There is no mock mode in the current release.

Running the eval harness

The eval harness requires Node.js 18+ and a Groq API key set as an environment variable:

export GROQ_API_KEY=your_key_here
node eval/run-eval.js

# Output: eval-report.json with scores for all 8 dimensions
# CI uses this same script — Job 3 in .github/workflows/deploy.yml

Deploying to GitHub Pages

# Fork the repo, then:
git clone https://github.com/yourusername/autonomous-author
cd autonomous-author

# Add your repo secret: GROQ_API_KEY (for CI eval runs)
# Settings → Secrets → Actions → New repository secret

# Push to main — GitHub Actions handles the rest
git push origin main

# Live at: https://yourusername.github.io/autonomous-author

Changing the inference model

To swap from Groq to Together AI or another free-tier provider, edit pipeline-config.json:

{
  "provider": "groq",
  "model_id": "llama-3.1-70b-versatile",
  "base_url": "https://api.groq.com/openai/v1/chat/completions",
  "expected_model_version": "llama-3.1-70b-versatile",
  "eval_thresholds": {
    "schema_conformance": 1.0,
    "compliance_detection": 0.90,
    "ambiguity_detection": 0.88,
    "placeholder_insertion": 1.0,
    "xai_completeness": 1.0,
    "false_positive_rate": 0.08,
    "confidence_calibration": 0.80,
    "latency_p95_seconds": 20
  }
}

After changing the model, run the eval harness to verify all 8 gates pass before deploying. The model upgrade protocol is documented in full on Page 05 — MLOps.

Contributing

What's open for contribution
and what isn't.

This is an individual portfolio project. Collaboration features are explicitly out of scope (C-04). Contributions that add multi-user functionality, external databases, or server-side components will not be merged — they break the zero-server guarantee (AR-03) and the individual-tool scope (C-04).

Welcome contributions

New rules in rules.json (with fixtures and FP rate check). New eval fixtures. Bug fixes in agent JS modules. Browser compatibility improvements. Accessibility improvements. Additional export formats. Prompt quality improvements (with eval harness gate). Documentation corrections.

Out of scope

Multi-user sessions or collaboration. Server-side components of any kind. External database integrations. Analytics or telemetry. Jira / Confluence API integrations (workflow-neutral principle). Training fine-tuned models. React/Vue/Angular migration (no framework dependency by design).

Adding a rule to rules.json

# 1. Add rule object to rules.json with required fields:
#    id, category, rule, check_type, severity, fix_template,
#    style_guide_ref, positive_fixture, negative_fixture

# 2. Run eval harness — new rule must not push FP rate above 0.08
node eval/run-eval.js

# 3. Open PR — CI will validate JSON schema and run eval
# 4. If all gates pass, maintainer merges and version bumps

Changing a system prompt

# 1. Edit the relevant file in /prompts/
# 2. Bump semver in the file header
# 3. Run eval harness to verify no regressions
# 4. Open PR — CI regenerates SHA hashes automatically
# 5. Add change entry to page-08.html (Changelog)
Licence

MIT — use it freely.

MIT Licence

Copyright (c) 2026 The Autonomous Author Contributors

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Acknowledgements

Standing on the
shoulders of open work.

  • GroqFree-tier LLM inference at 300+ tokens/second. Without free, fast inference, the ≤15-minute pipeline target would be unachievable on zero budget.
  • Meta / Llama 3.1The open-weight model that makes a fully open-source, cost-free pipeline possible. The quality-to-cost ratio at 70B is the enabling condition for this architecture.
  • Google Developer Style GuideThe open-source style guide that made the compliance engine possible. Machine-checkable rules are the foundation of the Compliance Agent's determinism.
  • LangGraph (LangChain)The conceptual framework for stateful multi-agent pipelines. The LangGraph-pattern implemented here is a client-side JS adaptation of the Python library's core ideas.
  • GitHub PagesFree static hosting with HTTPS, global CDN, and GitHub Actions integration. The zero-infra-cost constraint would be impossible without it.
  • The Autonomous EnterpriseThe reference portfolio by Siddharth Rao that established the structural and documentation standard this portfolio mirrors. The page-by-page architecture, traceable requirements, and Rebuttals & Pushbacks format are directly inspired by that work.
Portfolio Navigation

The full nine pages —
where to start.

If you're reading this as a hiring manager or technical lead, the recommended reading order is: PG 01 (Why and What) → PG 02 (The problem framed against a real writer persona) → PG 03 (How the design maps to requirements — the architecture rigour page) → PG 04 (The agent design — where the technical depth is) → PG 05 and PG 06 for MLOps and infrastructure discipline.

PG 01
Overview
Why now. The problem. Four principles. Architecture concept.
PG 02
Client Brief
Maya Chen. Requirements catalogue. Use cases. Success criteria.
PG 03
Design
DDLC-ADM phases. To-Be value streams. Data model. 6 ADRs.
PG 04
Agent Design
6 agent specs. State machines. XAI card anatomy. Full sequence.
PG 05
MLOps
Prompt governance. Eval harness. Drift detection. Upgrade protocol.
PG 06
Infrastructure
Full stack. Data privacy map. CI/CD. Security model. Storage schema.
PG 07
Glossary
Every term, defined precisely and cross-referenced.
PG 08
Changelog
Every version, every change, every requirement satisfied.
PG 09 — You are here
Readme
Quick start. Repo structure. Contributing. Licence.