Skip to content

Six-source research in the loop + stop VERITY/voice stacking - #4

Merged
FutronPrime merged 13 commits into
mainfrom
codex/verity-codex-preflight-py314
Jul 17, 2026
Merged

Six-source research in the loop + stop VERITY/voice stacking#4
FutronPrime merged 13 commits into
mainfrom
codex/verity-codex-preflight-py314

Conversation

@FutronPrime

Copy link
Copy Markdown
Owner

What

  • verity loop now seeds and runs six-source research (GitHub/Reddit/X/YouTube/Google/HN-SO) — the loop consults the same research engine verity deliberate uses, instead of the naive optimistic baseline that guessed. Model can emit action: "research: <q>" mid-run; --no-web opts out.
  • Harness anti-stacking: prevents duplicate VERITY mascot / voice-listener instances from piling up (root cause of a local OOM freeze when multiple sessions launched autostart concurrently).

Why

The autonomous loop was answering from priors without the research it already had wired elsewhere; and concurrent session starts stacked mascots/listeners into a memory pileup.

Test

  • Injected-fake unit test of run_goal: verified goal is seed-researched and research: actions route to six-source search, not the shell. Syntax-checked loop.py + main.py.

🤖 Generated with Claude Code

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

DJGeneration and others added 13 commits July 2, 2026 00:14
…le-5 review)

Fable-5 code review of the ~10.3K lines written while Fable was unavailable
(Jun 20–28) surfaced two unguarded input surfaces — both ironic for a safety harness:

1. repostream.materialize — path traversal / absolute-path escape. Wrote
   `dst / p` with `p` an UNTRUSTED GitHub tree path; pathlib makes
   `dst / "/abs"` == "/abs" and "../x" escapes dest. Now resolve()+relative_to()
   anchors every write inside dest; an escape is skipped and flips truncated=True
   (honest: never assert "safe" on a scan we couldn't complete).

2. websearch.fetch — SSRF / local-file read. urllib honors file://, ftp://,
   gopher://, and the URL can come from search results or a prompt-injectable
   model choice. fetch() is now http(s)-only; other schemes are refused.

+2 offline regression tests (path-escape rejection, non-http refusal).
Full suite: 101 passed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…xist (DRY/Rule-17 enforcement)

A PreToolUse (Write|Edit) hook that HARD-BLOCKS creating a new tool/script/daemon until the
agent has demonstrably searched for an existing one (prior-art evidence in the recent transcript).
Docs/memory don't stop agents from rebuilding existing tools — an execution-time gate does.

- Portable + env-configurable (REUSE_GATE_GLOBS / REUSE_GATE_EVIDENCE / CLAUDE_PROJECTS_DIR).
- Guards only NEW files matching guarded globs; editing existing files always allowed; fail-open.
- +12 deterministic offline tests (block paths, allow paths, edge cases: subdirs, spaces,
  malformed payload, non-Write tools, empty path). Validated 56/56 across repeated runs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…y-discipline)

Packages the three discipline gates as a one-install product:
- reuse-first-gate (PreToolUse hook) — block rebuilding tools that exist
- verity-discipline (skill) — search-before-concluding + safe-install playbook
- /verity-scan (command) + verity_scan.py — ingest/repo prompt-injection scanner

Adds .claude-plugin/marketplace.json so it installs via:
  /plugin marketplace add FutronPrime/verity-harness
  /plugin install verity-discipline

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…, deploy configs

- billing.py: Stripe metered bridge (MeterEvents + usage-record fallback, never raises into request path)
- landing/index.html: brand-matched landing (teal/magenta, Arial Narrow)
- Dockerfile + fly.toml + render.yaml + requirements.txt: one-command deploy to any of 3 targets
- DEPLOY.md: the 3 DJ-only inputs (Stripe key, target, domain) documented
- Verified: /health, admin key-issue, /v1/scan UNSAFE detection, usage metering all pass

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- verity/cli_ensemble.py: council members from different labs (Claude/Codex/Gemini/Grok CLIs)
  — less-correlated blind spots than same-family tiers; degrades to whatever CLIs are installed
- verity/council.py: --ensemble flag routes the 3-stage blind council over the cross-lab legs
- cloud/app.py: /v1/council premium gate (10 units), verified running a real 3-member council
- Wires the Fable-Council (Mixture-of-Agents) into VERITY's existing council + the metered API

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Resolved 21 curated X posts to concrete repos (syndication API + WebSearch + GitHub API), streamed
  every README (zero cloning), registered 13 net-new repos as monitored sources (20->33)
- Adopted Karpathy 4 anti-pitfall principles as VERITY discipline (Think-Before-Coding, Simplicity-
  First, Surgical-Changes, Goal-Driven) — reinforces PRIME DIRECTIVE
- Documented that @ziwenxu_ (OpenRouter Fusion) + rmux independently validate the cross-lab
  council --ensemble MoA gate shipped this session
- Mapped auth0 auth-for-agents -> R61 human-gate model; claude-obsidian hybrid-retrieval -> memory

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reachable-not-resident: catalog repos/skills, mount one on demand, gate it through 'verity vet',
lease with a TTL, auto-release + reclaim disk. Reads stream (zero clone); only skills/executables
materialize, ephemerally, after the vet clears. Portable (env-configured paths, no external deps).

- verity/broker.py: add/find/show/use/active/release/sweep/stats
- verity/__main__.py: wire 'broker'|'capability'|'jit' subcommand
- docs/BROKER.md: pattern + usage + launchd auto-sweep example
- Verified: full lifecycle mount→vet→lease→release; vet BLOCKs hostile instruction-surfaces

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… point

- Top callout: 'reachable, not resident' — vet-gated on-demand capability mounting
- New capability bullet in the autonomy section + docs link to BROKER.md
- Positions the broker as solving 'install everything vs capability-starved' without supply-chain risk

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…pplies

- verity/regression_ledger.py + 'verity fixed' subcommand: record a fixed bug, gate any plan/diff
  against it (exit 2 on regression risk) so solved bugs can't be silently reintroduced (Kochel technique)
- docs/FABLE5-TECHNIQUES.md: 34 techniques from 3 practitioner videos mapped to VERITY; 1 refused
  (safety-refusal-neutralizer — out of scope for a discipline harness)
- Verified: record -> check-clean(0) -> check-regression(2) catches a real Metal-GPU-crash reintroduction

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Every skill's name+description is always-on catalog tax. This audits a skills dir: static token
cost + near-duplicate clusters (fast), real invocation scan (--with-usage → CUT list + reclaim
estimate), and A/B lift (--ab: run a task with vs without a skill, report output divergence).
Portable (VERITY_SKILLS_DIR / VERITY_TRANSCRIPTS_DIR). Applied from the Fable-5 'delete skills
aggressively, keep only what lifts' technique.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… stacking

loop: run_goal() now seeds six-source research (reddit/x/youtube/github/
stackoverflow/hn + web) on the goal and resolves `research: <q>` actions via
deep_research instead of the shell — `verity loop` defaults to it (--no-web
opts out). Closes the gap where the loop was the naive no-research baseline
while the six-source engine only fed `verity deliberate`.

autostart: add an atomic mkdir mutex + pgrep guard around the mascot launch.
The SessionStart hook fires per agent session; concurrent runs raced Electron's
single-instance lock and stacked 2-3 mascots (memory bloat -> OOM). Now one
launch per herd; stale lock reclaimed after 2min.

voice: listen() gets a process-level singleton guard — a second `verity voice
listen` refuses to start (two listeners = double mic + overlapping TTS, the
"voice going haywire" symptom; the mascot's per-instance flag couldn't see it).

All three verified: injected-fake loop test, 3-way parallel autostart -> 1
instance, and a live second-listener refusal.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@FutronPrime
FutronPrime merged commit 6d81f19 into main Jul 17, 2026
4 checks passed
@FutronPrime
FutronPrime deleted the codex/verity-codex-preflight-py314 branch July 17, 2026 19:29
FutronPrime pushed a commit that referenced this pull request Jul 26, 2026
# Conflicts:
#	tests/test_codex_enforcement.py
#	verity/autostart.py
#	verity/server.py
#	verity/youtube.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant