Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
c0c4835
feat(viz): add viz monitor web dashboard
zevorn Apr 18, 2026
7d63c34
fix(viz): do not exec python in foreground monitor web
zevorn Apr 18, 2026
21f54eb
fix(viz): parse --project flag in viz-restart.sh
zevorn Apr 18, 2026
4ebd4ee
chore(viz): remove unused Chart.js integration
zevorn Apr 18, 2026
1dab865
fix(viz): narrow import-statement regex to avoid false positives
zevorn Apr 18, 2026
a9fb7b4
fix(viz): guard plan-file reads against directory paths
zevorn Apr 18, 2026
1578393
fix(viz): decode SSE log chunks in streaming UTF-8 mode
zevorn Apr 18, 2026
93054a2
fix(viz): only watch active sessions' cache dirs
zevorn Apr 18, 2026
d630a79
fix(viz): constrain session_id to the generator alphabet
zevorn Apr 18, 2026
948ea7c
fix(viz): require --trust-proxy for non-loopback binds
zevorn Apr 18, 2026
93a9103
fix(viz): fail closed in safeMd when DOMPurify is missing
zevorn Apr 18, 2026
1234abd
fix(viz): cheap terminal-status probe in SSE hot loop
zevorn Apr 18, 2026
892e061
fix(viz): invalidate stale methodology report cache
zevorn Apr 18, 2026
8de3545
fix(viz): forward every flag in viz-restart.sh
zevorn Apr 18, 2026
cc87a86
fix(viz): reject cross-origin WebSocket handshakes
zevorn Apr 18, 2026
8c3349a
fix(viz): widen safe-session-id alphabet to accept legacy slugs
zevorn Apr 18, 2026
0ce03d9
fix(viz): honor X-Forwarded-Proto in CSRF port matching
zevorn Apr 19, 2026
45b3c14
fix(viz): preserve finalize phase for live round past build_finish_round
zevorn Apr 19, 2026
1875533
fix(viz): refcount cache watchers and release on SSE client disconnect
zevorn Apr 19, 2026
86f0de9
fix(viz): preserve snapshot after resync when file is transiently empty
zevorn Apr 19, 2026
7539e72
fix(viz): exclude analyzing/finalizing markers from SSE EOF probe
zevorn Apr 19, 2026
08ab1d4
fix(viz): classify git porcelain AM as added, not modified
zevorn Apr 19, 2026
c7ae04a
fix(viz): evict idle LogStream registry entries after EOF
zevorn Apr 19, 2026
bfec5af
fix(viz): use werkzeug safe_join to close static-path existence oracle
zevorn Apr 19, 2026
3543fcd
fix(viz): evict idle LogStream entries via a refcount-zero TTL sweep
zevorn Apr 19, 2026
0cde0f7
fix(viz): filter analytics session ids and escape comparison table HTML
zevorn Apr 19, 2026
53f5b98
fix(viz): count rounds by list length, not 0-based current_round
zevorn Apr 19, 2026
6a062e1
fix(viz): use completed-round count in sanitized issue body
zevorn Apr 19, 2026
a365514
fix(viz): export rounds as completed-round count, not 0-based index
zevorn Apr 19, 2026
6812053
fix(viz): report completed-round count in issue quantitative summary
zevorn Apr 19, 2026
d67da3b
Merge pull request #63 from zevorn/feat/viz-dashboard
SihaoLiu Apr 19, 2026
9003484
fix(viz): handle malformed Origin ports in CSRF check as 403, not 500
SihaoLiu Apr 19, 2026
90ed2a0
fix(viz): compute session duration across full on-disk round range
SihaoLiu Apr 19, 2026
66a8d06
fix(scripts): reject path-traversal session ids in cancel helper
SihaoLiu Apr 19, 2026
9d8aa7b
fix(viz): evict idle LogStream entries without requiring a later release
SihaoLiu Apr 19, 2026
13cd25e
Merge branch 'dev' into beta
SihaoLiu Apr 21, 2026
9345bf0
Merge branch 'dev' into beta
SihaoLiu Apr 30, 2026
373168f
fix(viz): require helper success before invalidating WS cancel cache
SihaoLiu May 1, 2026
f4e5721
chore(release): bump plugin version to 1.17.0
SihaoLiu May 1, 2026
ccdd685
fix(codex): use renamed hooks feature
VitalyAnkh May 2, 2026
af0083d
test: avoid broken pipe in template assertions
VitalyAnkh May 4, 2026
4d54140
Merge pull request #134 from VitalyAnkh/fix/codex-hooks-feature-rename
zevorn May 12, 2026
da3ab8d
Fix Codex review base prompt compatibility
Horacehxw May 11, 2026
93d531d
Address review prompt path test brittleness
Horacehxw May 14, 2026
f806ed3
docs: add hardened explore-idea prototype design
Horacehxw Apr 29, 2026
ebc0df9
docs: add explore-idea hardened prototype plan and design spec
Horacehxw Apr 29, 2026
c268fe8
feat: add explore-idea command + gen-idea directions.json companion (…
Horacehxw Apr 29, 2026
cec875d
fix(round-1): harden validator, dedup fix, portability, and docs
Horacehxw Apr 29, 2026
aeaec5c
fix(round-2): macOS/bash-3.2 portability fixes + AC-6 confirmation tool
Horacehxw Apr 29, 2026
b7f8340
docs(spike): fill runtime-spike-results.md with actual explore-idea s…
Horacehxw May 1, 2026
0077e2c
chore: gitignore .claude/worktrees/ (explore-idea runtime artifact)
Horacehxw May 1, 2026
893b7da
fix(round-3): worker base-anchor, parallel test suite green, SIGINT w…
Horacehxw May 1, 2026
be09e3c
docs(round-3): update spike results for AC-11/12/15 closure
Horacehxw May 1, 2026
6177b6d
fix(round-4): BASE_COMMIT placeholder + SIGINT probe for SIG_IGN dete…
Horacehxw May 1, 2026
206c610
docs(round-4): full end-to-end smoke results for AC-11/15; spike tabl…
Horacehxw May 1, 2026
4eb647c
docs(round-5): draft-path UX spike results; AC-11 closed via explore-…
Horacehxw May 1, 2026
184b279
test: fix CLAUDE_PROJECT_DIR isolation in test-stop-gate.sh; add --co…
Horacehxw May 1, 2026
55ba620
test: sandbox unsupported-Codex path in test-codex-hook-install.sh
Horacehxw May 1, 2026
5a80c06
test: fix racy LATEST_DIR in test-ask-codex.sh argument-parsing tests
Horacehxw May 1, 2026
0bf94af
test: add run_ask_codex_capturing_dir helper; update argument-parsing…
Horacehxw May 1, 2026
1ccd4b7
test(ask-codex): fix capturing-dir helper for fallback cache layout +…
Horacehxw May 1, 2026
ccfc4b4
fix(gen-idea): add rm to allowed-tools; fix slash heuristic in validator
Horacehxw May 1, 2026
26c00f5
fix(install): restore Kimi RLCR gate; fix --target both provider_mode
Horacehxw May 1, 2026
6a4b5a9
fix(install): reject --target both with identical kimi/codex skills dirs
Horacehxw May 1, 2026
cc977f2
fix(rlcr): disable methodology analysis by default; delay terminal re…
Horacehxw May 1, 2026
5f231ff
fix(explore-idea): remove coordinator-branch checkout from worker; re…
Horacehxw May 1, 2026
a7c27db
fix(project-root): prioritize git toplevel for worktree-safe resolution
Horacehxw May 1, 2026
8fd8e33
test(hook-system): isolate robustness tests to prevent real loop inte…
Horacehxw May 1, 2026
d74b830
refactor(stop-hook): split loop-codex-stop-hook into modular library …
Horacehxw May 1, 2026
808ce22
chore: ignore duplicate loop-codex-stop-hook-helpers.sh from refactoring
Horacehxw May 1, 2026
1f890cb
refactor(stop-hook): add remaining modular library files for stop-hoo…
Horacehxw May 1, 2026
36f40f2
fix(hooks): resolve target project context
Horacehxw May 6, 2026
2fe2ce4
fix(explore): address PR review feedback
Horacehxw May 8, 2026
da95ce4
fix(explore): synthesize final idea artifacts
Horacehxw May 11, 2026
2031a74
fix(explore): harden review feedback contracts
Horacehxw May 14, 2026
5d65036
fix(viz): make local verification portable
Horacehxw May 14, 2026
5977a4d
fix(pr-scope): trim explore-idea cleanup scope
Horacehxw May 14, 2026
8986bf3
Merge pull request #154 from Horacehxw/codex-bug
SihaoLiu May 19, 2026
e96f864
Merge PolyArch/dev into Horacehxw/dev to resolve conflicts
SihaoLiu May 19, 2026
3ffd75e
test: avoid broken pipe in template-loader assertions
SihaoLiu May 19, 2026
1c45548
Merge pull request #141 from Horacehxw/dev
SihaoLiu May 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"name": "humanize",
"source": "./",
"description": "Humanize - An iterative development plugin that uses Codex to review Claude's work. Creates a feedback loop where Claude implements plans and Codex independently reviews progress, ensuring quality through continuous refinement.",
"version": "1.16.0"
"version": "1.17.0"
}
]
}
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "humanize",
"description": "Humanize - An iterative development plugin that uses Codex to review Claude's work. Creates a feedback loop where Claude implements plans and Codex independently reviews progress, ensuring quality through continuous refinement.",
"version": "1.16.0",
"version": "1.17.0",
"author": {
"name": "PolyArch"
},
Expand Down
2 changes: 2 additions & 0 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ This is a Claude Code plugin that provides iterative development with Codex revi
- Version number must be in format of `X.Y.Z` where X/Y/Z is numeric number. Version MUST NOT include anything other than `X.Y.Z`. For example, a good version is `9.732.42`; Bad version examples (MUST NOT USE): `3.22.7-alpha` (extra "-alpha" string), `9.77.2 (2026-01-07)` (useless date/timestamp).
- The plan template in `commands/gen-plan.md` (Phase 5 Plan Structure section) and `prompt-template/plan/gen-plan-template.md` are intentionally kept in sync. When modifying either file, ensure both are updated to maintain consistency.
- Conversely, changes to `prompt-template/plan/gen-plan-template.md` must also be reflected in the Plan Structure section of `commands/gen-plan.md`.
- The directions.json schema v1 is defined in two places that must stay in sync: the jq validation expression in `scripts/validate-directions-json.sh` and the schema documentation in `commands/gen-idea.md` (Step 4.5). When adding, removing, or renaming a field in either place, update the other.
- Worker constraints (hard caps, isolation rules, no-push rule, sentinel format) are documented in four places that must stay in sync: `commands/explore-idea.md` (coordinator phases), `prompt-template/explore/worker-prompt.md` (worker instructions), `scripts/validate-explore-idea-io.sh` (cap enforcement), and `docs/usage.md` (user-facing option docs). Any change to a cap value or constraint must be reflected in all four.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ temp
# Local Claude client settings
/.claude/settings.json
/.claude/scheduled_tasks.lock
/.claude/worktrees/

# Local Codex CLI marker (empty file occasionally left behind in worktree)
/.codex

# Humanize state directories (runtime-generated, project-local)
.humanize/
Expand Down
29 changes: 21 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Humanize

**Current Version: 1.16.0**
**Current Version: 1.17.0**

> Derived from the [GAAC (GitHub-as-a-Context)](https://github.com/SihaoLiu/gaac) project.

Expand Down Expand Up @@ -45,37 +45,50 @@ Requires [codex CLI](https://github.com/openai/codex) for review. See the full [
```bash
/humanize:gen-idea "add undo/redo to the editor"
```
Output goes to `.humanize/ideas/<slug>-<timestamp>.md` by default. Pass a `.md` path to expand existing rough notes. `--n` controls how many parallel directions explore the idea (default 6).
Output goes to `.humanize/ideas/<slug>-<timestamp>.md` and a companion `directions.json` artifact. Pass a `.md` path to expand existing rough notes. `--n` controls how many parallel directions explore the idea (default 6).

2. **Generate a plan** from your draft:
2. **Explore directions as parallel prototypes** (optional — skip if you want to go straight to planning):
```bash
/humanize:gen-plan --input draft.md --output docs/plan.md
/humanize:explore-idea .humanize/ideas/<slug>-<timestamp>.directions.json
```
Dispatches bounded parallel prototype workers (one per direction), each running in an isolated git worktree. After all workers complete, writes `.humanize/explore/<run-id>/explore-report.md` for audit/ranking details and `.humanize/explore/<run-id>/final-idea.md` as the plan-ready synthesis. Worker worktrees are optional prototype fast paths; the default follow-up is to generate a clean plan from `final-idea.md`.

3. **Refine an annotated plan** before implementation when reviewers add comments (`CMT:` ... `ENDCMT`, `<cmt>` ... `</cmt>`, or `<comment>` ... `</comment>`):
3. **Generate a plan** from your draft or explored final idea:
```bash
/humanize:gen-plan --input .humanize/explore/<run-id>/final-idea.md --output docs/plan.md
```

4. **Refine an annotated plan** before implementation when reviewers add comments (`CMT:` ... `ENDCMT`, `<cmt>` ... `</cmt>`, or `<comment>` ... `</comment>`):
```bash
/humanize:refine-plan --input docs/plan.md
```

4. **Run the loop**:
5. **Run the loop**:
```bash
/humanize:start-rlcr-loop docs/plan.md
```

5. **Consult Gemini** for deep web research (requires Gemini CLI):
6. **Consult Gemini** for deep web research (requires Gemini CLI):
```bash
/humanize:ask-gemini What are the latest best practices for X?
```

6. **Monitor progress (in another terminal, not inside Claude Code)**:
7. **Monitor progress (in another terminal, not inside Claude Code)**:
```bash
source <path/to/humanize>/scripts/humanize.sh # Or just add it into your .bashec or .zshrc
humanize monitor rlcr # RLCR loop
humanize monitor skill # All skill invocations (codex + gemini)
humanize monitor codex # Codex invocations only
humanize monitor gemini # Gemini invocations only
humanize monitor web # Browser dashboard for the current project
```

The `humanize monitor web` subcommand launches a per-project browser dashboard
that layers on top of the same data sources the terminal monitors read. It runs
in the foreground by default; pass `--daemon` for the background tmux launcher
and `--host` / `--port` / `--auth-token` to configure remote access. See the
upgrade note: `/humanize:viz` has been removed in favour of `humanize monitor web`.

## Monitor Dashboard

<p align="center">
Expand Down
Loading
Loading