docs: add root visuals/ output convention for generated visual aids - #903
Closed
AdamRoch wants to merge 2 commits into
Closed
docs: add root visuals/ output convention for generated visual aids#903AdamRoch wants to merge 2 commits into
AdamRoch wants to merge 2 commits into
Conversation
Visual aids and artifacts (Lavish boards, HTML explainers, dataviz pages, interactive review surfaces) now go in a root-level visuals/ directory: project visuals in the project's own root visuals/ via its delivery path, firstmate's fleet/operational visuals in the home's root visuals/, which is gitignored like data/ and state/.
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intent
The developer (acting as an autonomous crewmate agent for the firstmate orchestration repo) was tasked with adding a captain-approved convention to firstmate's AGENTS.md governing where generated visual aids and artifacts (Lavish boards, HTML explainers, dataviz pages) are written: to a top-level visuals/ directory at a repository root rather than buried in internal agent directories like data/ or .lavish/, with project-specific visuals going to that project's own root visuals/ and firstmate's fleet/operational visuals going to the firstmate home's root visuals/. Requirements included following the firstmate-coding-guidelines skill (one-owner rule, concise placement, repo style of one sentence per line, no em dashes), placing the rule once in AGENTS.md (section 9 suggested) without duplicating it into skills, and adding visuals/ to the repo's .gitignore matching the existing data/, state/, config/ entries. Scope was docs and config only: no script or skill output-path changes, with conflicting hardcoded paths (e.g. .lavish/ defaults) only noted as follow-on work in the PR description. The change had to ship via the no-mistakes validation pipeline as a PR held for the captain's merge, with ask-user findings escalated rather than self-resolved and no use of --yes. During the run, the captain additionally approved fixing a review finding by listing the new home-root visuals/ entry in both home-layout owner documents (AGENTS.md section 2's layout block and docs/configuration.md's operational-home-layout section), and after a push failure due to the AdamRoch account lacking write access, approved a fork-based PR from AdamRoch:fm/firstmate-visuals-convention into kunchenguid:main, with the PR URL to be reported once CI is green and no merging performed.
What Changed
AGENTS.mdsection 9 now states the convention for generated visual aids (Lavish boards, HTML explainers, dataviz pages): write them to a root-levelvisuals/directory instead of internal agent directories likedata/or.lavish/— project visuals go to that project's own rootvisuals/via its normal delivery path, and firstmate's fleet/operational visuals go to this home's rootvisuals/.AGENTS.mdsection 2's layout block and the operational-home-layout section ofdocs/configuration.md, each pointing to section 9 as the rule's owner..gitignoreadds avisuals/entry alongside the existingdata/,state/, andconfig/entries, keeping home-root visuals private and untracked.Deferred as follow-on work: existing hardcoded output paths (e.g. the
.lavish/defaults referenced in.agents/skills/bearings/SKILL.md) are intentionally unchanged; those pointers stay accurate until the tooling defaults migrate tovisuals/.Risk Assessment
✅ Low: Docs-and-gitignore-only change that matches the approved scope, respects the one-owner rule with correct section references, and touches no executable code.
Testing
Exercised the docs/config change end-to-end: demonstrated the new .gitignore entry actually hides a generated home-root visual from git (check-ignore transcript saved), verified the convention is stated once in AGENTS.md section 9 with both home-layout owner docs referencing it, confirmed repo style compliance (one sentence per line, no em dashes) and docs-only scope, and captured a rendered screenshot of all changed sections; no relevant automated tests exist to run and none assert the real .gitignore, and all checks passed.
/var/folders/fg/kdtsctls07xdptm648h0n5bc0000gn/T/no-mistakes-evidence/01KY73PPMHWB5PZBS7HNBYZ2WX/visuals-convention-docs.png)Evidence: gitignore behavior transcript (home-root visual invisible to git)
$ mkdir -p visuals && touch visuals/fleet-status-board.html $ git check-ignore -v visuals/fleet-status-board.html .gitignore:4:visuals/ visuals/fleet-status-board.html $ git status --porcelain # (empty = generated visual is invisible to git) $ git status --short | wc -l 0Evidence: HTML source of rendered evidence page
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
.agents/skills/bearings/SKILL.md:38- .agents/skills/bearings/SKILL.md:38 still points at.lavish/*.htmlboards, which conflicts with the new rootvisuals/convention. This was explicitly scoped as follow-on work (no skill output-path changes in this PR), so no change needed here — just ensure the PR description notes it as deferred, per the approved scope.✅ **Test** - passed
✅ No issues found.
git diff 6bcb381..0fa54fdreviewed for scope (only .gitignore, AGENTS.md, docs/configuration.md; no scripts/skills touched)mkdir -p visuals && touch visuals/fleet-status-board.html; git check-ignore -v visuals/fleet-status-board.html; git status --porcelain— new .gitignore:4 entry ignores a generated home-root visual and the worktree stays cleangrep '^+' <diff> | grep '—'— no em dashes in added lines; verified one-sentence-per-line styleVerified section placement: rule stated once in AGENTS.md section 9 (lines 409–411); section 2 layout block (line 111) and docs/configuration.md (line 16) reference section 9 as owner without duplicating the ruleSearched tests/ and bin/ for assertions on the real repo .gitignore — none exist (tests use their own fixture .gitignore files), so no existing automated test covers or is broken by this changeRendered all four changed doc sections to HTML and captured a full-page screenshot via headless Chrome as reviewer-visible evidence.agents/skills/bearings/SKILL.md:38- .agents/skills/bearings/SKILL.md line 38 still cites.lavish/*.htmlboards as pickup pointers. Left as-is intentionally: lavish tooling still defaults to.lavish/, so the pointer stays accurate until output paths migrate; the author scoped.lavish/path changes as follow-on work. Update this pointer tovisuals/in the same follow-up that moves the tooling defaults.✅ **Push** - passed
✅ No issues found.