10 Commits
Author SHA1 Message Date
mozempkandCopilot 3cbd929901 feat(conductor): consolidate all operations behind single entry point
CI / test (22) (push) Successful in 13s
CI / test (20) (push) Successful in 13s
- add OPERATIONS table to conductor.agent.md (init, doctor, onboard,
  index, memory, telemetry, design, plan, build, verify, integrate,
  fast-track) so the conductor agent runs any named operation directly
  instead of only the full pipeline
- thin every skill file to a one-line pointer into conductor's
  OPERATIONS table, removing duplicated procedure text (contributor
  rule: no duplicated behavior in prompts/skills)
- document the operations table in README.md and AGENTS.md

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-10 03:20:37 +02:00
mozempk 9fa9623b41 fix(conductor): ask design questions one at a time, not batched
Copilot CLI has no ask_user/elicitation tool for custom agents (confirmed
via docs: only execute/read/edit/search/agent/web/todo aliases exist).
The only way to get a live human reply is ending the agent's own turn
with plain text and waiting for the next user message. Conductor was
dumping every design question as one big numbered markdown block in a
single turn, which reads as a form, not a conversation.

Now conductor asks exactly one question per turn (plain text, numbered
candidate answers, one Recommended + Why, an Other: option, a Required
flag), ends its turn, waits for the real reply, then asks the next one.
Decisions are only persisted to decisions.md after the last question is
answered.
2026-09-10 02:51:01 +02:00
mozempk 245ad6b39f refactor(agents): hide architect and reviewer from /agent picker
Enforce single-entry-point: only conductor is user-invocable now.
architect and reviewer remain fully functional but are only reachable
as subagents that conductor delegates to internally, matching the
same internal-only treatment already given to scout/splitter/builder/
verifier/integrator/scribe.
2026-09-10 02:47:43 +02:00
mozempk 154e456d4c refactor(agents): remove interrogator, merge design Q&A into conductor
Confirmed via official Copilot CLI docs: there is no ask_user/elicitation
tool available to custom agents (only execute/read/edit/search/agent/web/
todo aliases exist). Subagent calls made through the 'agent' tool are
stateless — they run to completion and return one final result, with no
mechanism to pause mid-task for a live human reply.

This means conductor invoking interrogator via the agent tool could never
work: interrogator would run as a subagent regardless of whether conductor
itself was foreground or backgrounded, and subagents can't get real user
answers. That's why it was silently writing fabricated decisions.md/
questionnaire.md content instead of actually asking anything.

Fix: delete the interrogator agent entirely and fold its full Q&A
procedure directly into conductor's own DESIGN PHASE, run inline in
conductor's own foreground turn — never delegated. Updated the design
skill/prompt, AGENTS.md, README, QUICKSTART, and role-tier config to
match. Single entry point, no subagent path for anything that needs a
live human answer.
2026-09-10 02:40:07 +02:00
mozempk 099001728c fix(agents): document exact lh CLI flags in every agent profile
Every agent's PROCEDURE/OUTPUTS referenced lh subcommands vaguely (e.g.
'Run lh run event', 'lh memory get --shard failures'), forcing models to
guess flags at runtime instead of following the profile. Two real bugs
found this way:

- 'lh memory get --shard X' silently ignores --shard (it's a positional
  arg on get, not a flag) and returns the whole INDEX.md instead of the
  targeted shard. Fixed to 'lh memory get X' everywhere.
- lh run event/lane create calls had no required --type/--status/--id/
  --kind/--scope documented, so agents had to trial-and-error discover
  them. Added full, exact invocation syntax inline for every command
  each agent actually issues (run event, lane create, memory get/put,
  host --strategy, graph).
2026-09-10 02:33:22 +02:00
mozempk 34ce4eb5c5 fix(agents): correct user-invocable typo; document exact lh run flags
- All agent profiles used the misspelled 'user-invokable' property, which
  Copilot CLI silently ignores, so internal-only agents (scout, splitter,
  builder, verifier, integrator, scribe) were never actually hidden from
  the /agent picker. Renamed to the documented 'user-invocable'.
- conductor/architect instructions said only 'Run lh run event' with no
  flags, forcing the model to trial-and-error discover --type/--status/
  etc. Documented the exact lh run start/event/end CLI syntax inline.
2026-09-10 02:30:08 +02:00
mozempkandCopilot 981cbceecf fix(conductor): self-heal missing harness config via lh init --yes
conductor previously jumped straight to lh host, which succeeds even
without .agents/harness.config.json, then silently hit a hard failure
later reading .agents/memory/INDEX.md (lh doctor confirms: config not
initialised). New projects had no automatic recovery path — lh init
was documented as a manual step users had to remember.

- conductor now runs lh doctor first; if config is missing it runs
  lh init --yes (non-interactive defaults) and re-checks, before lh host
- still stops and reports the exact failing check if lh doctor finds
  something it can't self-heal (e.g. no verify commands configured)
- README/QUICKSTART updated: lh init/lh doctor documented as optional
  manual pre-flight, not a required step, since conductor self-heals

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-10 01:57:05 +02:00
mozempkandCopilot 8330cf7900 ci: publish @redsentech/lean-harness to GitHub Packages
- Rename npm package scope @redsen -> @redsentech (GitHub Packages
  requires the scope to match the owning org/user login).
- Add publishConfig.registry pointing at npm.pkg.github.com.
- Add .github/workflows/publish.yml: on push of a vX.Y.Z tag (or manual
  dispatch), runs validate + test, checks the tag matches
  package.json's version, then npm publish using the auto-issued
  GITHUB_TOKEN (packages: write permission, no secret to manage).
- Update README/QUICKSTART lh-CLI install instructions for the private,
  org-scoped registry (.npmrc scope + auth token setup).
- Verified locally with npm publish --dry-run: 68 files, correct
  registry target, correct tarball contents.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-10 00:51:06 +02:00
mozempkandCopilot cd36cc0efc fix: telemetry/memory flag mismatches, doc drift; add CI; self-dogfood
Parallel fleet audit (2 background agents) + direct work:

- src/commands/memory.mjs: `memory put --allow-secrets` was read as
  `flags.allowSecrets` (camelCase) but the CLI parser only emits
  kebab-case keys, so the flag was always undefined/false. Fixed to
  `flags['allow-secrets']`.
- Docs: `lh graph --brief` was referenced 14x across 5 agent.md files,
  harness.instructions.md, 4 SKILL.md files, onboard.prompt.md, and
  README, but `lh graph` has no --brief flag (terse output is already
  the default, --json/--severity are the only flags). Corrected every
  reference to match actual CLI surface.
- .github/workflows/ci.yml: run npm install/validate/test on node 20+22.
- Self-dogfooded `lh init --yes` in this repo, producing .agents/
  (harness.config.json, architecture.md, conventions.md, memory
  shards). `lh doctor` now reports all required checks green.
- Deduped .gitignore harness block against init's auto-managed block.

Verified: 53/53 tests pass, validate 0 errors, doctor all-green.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-09 22:50:07 +02:00
mozempkandCopilot 383129f571 feat: scaffold redsen-lean-harness v0.1.0
Recovered from crashed session (Node OOM). Repo contains full P0-P6
scaffold: plugin.json/marketplace.json, AGENTS.md, ADRs 0001-0006,
lh CLI (init/index/graph/lane/run/memory/host/report/doctor), 10
.github/agents, 12 CLI skills, instructions, context7 mcp.json, and
unit/e2e test suite.

Fixed: run.mjs read --in-tokens/--out-tokens but tests and CLI docs
use --input-tokens/--output-tokens, so telemetry totals were always 0.
Now accepts both forms.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-09 22:44:15 +02:00