How nodarisai/coding-agent_harness works
Nodaris is a coding-agent harness: hooks inspect actions, apply safety policy, and add task procedures and remembered context; end-of-turn checks and receipts help prove the work. Its CLI also exposes setup, privacy, security, monitoring, learning, and team-sync capabilities. The graph follows documented behavior and SOURCE INDEX references; unsampled subsystems are represented by their exact source paths, and their internal wiring is not inferred.
Main entry points: dispatch.py Event dispatch · cli.py Harness CLI · learner.py Background learner · sync.py Team sync
Components 26
Agent integration
- Harness hooks
packs/core/hooks/hlib.py - Event dispatch
engine/nodaris_harness/dispatch.py - Harness CLI
engine/nodaris_harness/cli.py
Task workflow
- Request router
engine/nodaris_harness/router.py - Jev decision model
engine/nodaris_harness/jev.py - Code graph
engine/nodaris_harness/graph.py
Safety and proof
- Turn gates
engine/nodaris_harness/gates.py - Action policy
engine/nodaris_harness/policy.py - Data redaction
engine/nodaris_harness/redact.py - PHI detection
engine/nodaris_harness/phi_guard.py - Security checks
engine/nodaris_harness/security.py - Readiness checks
engine/nodaris_harness/ready.py - Reversible trash
engine/nodaris_harness/trash.py
Memory and learning
- Learned profile
engine/nodaris_harness/profile.py - Lesson memory
engine/nodaris_harness/memory.py - Background learner
engine/nodaris_harness/learner.py - Session trajectory
engine/nodaris_harness/trajectory.py - Team sync
engine/nodaris_harness/sync.py
Setup and operations
- Agent host setup
engine/nodaris_harness/hosts.py - Onboarding
engine/nodaris_harness/onboard.py - Terminal interface
engine/nodaris_harness/tui.py - Live monitor
engine/nodaris_harness/monitor.py - Status line
engine/nodaris_harness/statusline.py
Other components
- User
- Coding agent
- Team memory vault
Connections 32
- User → Coding agent: requests work
README.md - Coding agent → Harness hooks: runs action hooks
README.md - Harness hooks → Event dispatch: reports events
packs/core/hooks/hlib.py - Event dispatch → Request router: routes requests
engine/nodaris_harness/dispatch.py - Request router → Learned profile: consults keywords
engine/nodaris_harness/router.py - Event dispatch → Turn gates: checks turn
engine/nodaris_harness/dispatch.py - Event dispatch → Action policy: classifies actions
engine/nodaris_harness/dispatch.py - Event dispatch → Lesson memory: recalls lessons
engine/nodaris_harness/dispatch.py - Event dispatch → Background learner: updates learning
engine/nodaris_harness/dispatch.py - Event dispatch → Session trajectory: records session
engine/nodaris_harness/dispatch.py - Event dispatch → Jev decision model: adds decision context
engine/nodaris_harness/dispatch.py - Event dispatch → Data redaction: redacts data
engine/nodaris_harness/dispatch.py - Harness CLI → Event dispatch: dispatches events
engine/nodaris_harness/cli.py - Harness CLI → Security checks: runs assessment
engine/nodaris_harness/cli.py - Harness CLI → Readiness checks: runs readiness
engine/nodaris_harness/cli.py - Harness CLI → Reversible trash: manages deletion
engine/nodaris_harness/cli.py - Harness CLI → Team sync: runs sync
engine/nodaris_harness/cli.py - Harness CLI → Live monitor: starts monitor
- Harness CLI → Code graph: queries code graph
engine/nodaris_harness/cli.py - Harness CLI → Status line: prints status
- Harness CLI → Onboarding: starts onboarding
engine/nodaris_harness/cli.py - Onboarding → Terminal interface: presents prompts
engine/nodaris_harness/onboard.py - Onboarding → Agent host setup: configures setup
README.md - Agent host setup → Coding agent: installs hooks
engine/nodaris_harness/hosts.py - Turn gates → Coding agent: requires proof
README.md - Action policy → User: requests approval
README.md - Data redaction → PHI detection: detects identifiers
engine/nodaris_harness/redact.py - Background learner → Lesson memory: uses lessons
engine/nodaris_harness/learner.py - Background learner → Learned profile: adapts profile
engine/nodaris_harness/learner.py - Team sync → Lesson memory: shares lessons
engine/nodaris_harness/sync.py - Team sync → Team memory vault: syncs opted-in data
engine/nodaris_harness/sync.py - Jev decision model → Data redaction: screens prompts
engine/nodaris_harness/jev.py