Case Study
trail.venturanomadica.com
The Trail Framework website. Built end-to-end using Trail.
← Back to trail.venturanomadica.com
trail/runs/intent-002/run-2026-03-15-18-15-13/results.md
results.md
What's this? →# Run: run-2026-03-15-18-15-13
# Purpose: Finish the nav fix, case study update, deploy workflow, and git push
---
## Status
Complete.
---
## Task Status
| Task | Status | Notes |
|------|--------|-------|
| T01 | Complete | Pre-change notes captured before any code changes |
| T02 | Complete | `.nav-scaffold` CSS changed from filled green to outline style |
| T03 | Complete | `trail.venturanomadica.com` stats updated to actuals |
| T04 | Complete | `.github/workflows/deploy.yml` created |
| T05 | Complete | Initial commit (78 files) pushed to `origin main` |
| T06 | Complete | Verification notes below |
---
## Pre-Change Observations (T01)
### Git State
- Branch: `main`, no commits yet — all site files from run-001 were untracked
- `origin` remote: `https://github.com/Ventura-Nomadica/trail-site.git` (confirmed)
- T05 commit is the initial (root) commit for this repository
### Nav Active-State Issue (T02)
The `.nav-scaffold` CSS class applied `background: var(--color-forest) !important` unconditionally, giving the Scaffold nav link a persistent forest-green filled background on every page. Since Scaffold links to an external ZIP download and never matches any `$current_page` slug, it should never appear as the active page. The persistent green background was visually indistinguishable from an active-page state.
### Case Study Stats (T03)
The `trail.venturanomadica.com` entry had 6 stat tags from initial planning estimates. Task T03 required replacing them with 5 actual stats.
### Deploy Workflow (T04)
No `.github/workflows/` directory existed. Created from scratch.
---
## Assumptions
1. **Nav fix is CSS-only.** The `nav_link()` PHP function already handles active states for page links correctly. Only `.nav-scaffold` CSS needed changing. `header.php` not modified.
2. **Outline/ghost style for Scaffold.** An outlined button keeps Scaffold visually distinct as a download CTA without mimicking the active-page indicator. This matches the ghost-button pattern in the style guide.
3. **T05 stages all untracked files.** The initial commit includes the full site and all trail run artifacts (`trail/`). `.DS_Store` files and `.claude/` were intentionally excluded from staging.
4. **rsync excludes `.git`, `.github`, `.DS_Store`, `trail/`, `.claude/`.** Web server should not receive git internals, CI config, macOS metadata, or Trail run artifacts.
5. **Workflow uses `ssh-keyscan` without StrictHostKeyChecking** — standard for CI deploy scripts; the host fingerprint is captured via `ssh-keyscan` before the rsync step.
---
## Blockers
None. All tasks completed successfully.
---
## Notable Observations
- This run produced the repository's first commit (root commit, 78 files, 7598 insertions).
- Push to `origin main` succeeded on first attempt. Branch tracking configured automatically.
- The `.nav-scaffold` fix required only 6 lines of CSS changed. No changes to `header.php` or any page file were needed for T02.
- The deploy workflow includes a "Clean up SSH key" step with `if: always()` to ensure the private key is removed from the runner even if an earlier step fails.
---
## Surprising or Non-Obvious Findings
- The `git push` required no authentication prompt — the `gh` CLI credential helper was already configured from the prior session.
- The `.nav-scaffold` class used `!important` on all three properties. The fix retained `!important` on all properties in the new outline style so the specificity contract is unchanged (the class will still override base `.nav-links a` rules as intended).
---
## Deviations and Reasoning
| Deviation | Reason |
|-----------|--------|
| Scaffold outline uses mint color, not ash | Scaffold should remain visually prominent as a download CTA. Mint communicates brand and action without implying "current page." Ash would blend too closely with regular nav link color. |
| `trail/` excluded from rsync but included in commit | Trail artifacts are part of the repository record (per run-001 design) but should not be served by the web server. Excluding from rsync achieves both goals without removing from version control. |
---
## Verification Notes
### T02 — Nav Active-State Fix
**Before:** `.nav-scaffold { background: var(--color-forest) !important; color: var(--color-white) !important; ... }`
- Scaffold showed a filled forest-green background on every page, indistinguishable from the "current page" state.
**After:** `.nav-scaffold { border: 1.5px solid rgba(74,170,128,0.45) !important; color: var(--color-mint) !important; ... }`
- Scaffold renders as an outlined button (mint border, mint text) — visually distinct as a download CTA without implying it's the current page.
- All other nav links: active state remains PHP-driven via `nav_link()` (unchanged from run-001).
- No other layout or styling changes introduced.
### T03 — Case Study Stats
`trail.venturanomadica.com` stats in `case-studies.php`:
| | Before | After |
|-|--------|-------|
| Stat 1 | `Intents in progress` | `2 intents` ✓ |
| Stat 2 | `5 hours planning` | `6 hours planning` ✓ |
| Stat 3 | `15 min AI build time` | `8 min: Manager — both intents` ✓ |
| Stat 4 | `4 hours: Planning and collecting information` | `25 min: Developer — both intents` ✓ |
| Stat 5 | `15 minutes: AI writes code` | `45 minutes: Testing` ✓ |
| Stat 6 | `45 minutes: Testing` | (removed — now 5 stats total) |
Description text: `This website.` — unchanged ✓
### T04 — Deploy Workflow
File created: `.github/workflows/deploy.yml`
Acceptance criteria verified:
- Triggers on push to `main` ✓
- Uses `ubuntu-latest` ✓
- Checks out repository via `actions/checkout@v4` ✓
- Authenticates SSH using `secrets.DEPLOY_SSH_KEY` ✓
- Deploys with rsync over SSH ✓
- Placeholders: `REPLACE_WITH_DEPLOY_HOST`, `REPLACE_WITH_DEPLOY_USER`, `REPLACE_WITH_DEPLOY_PATH` ✓
- Placeholders clearly marked for human replacement (in file header comment and in the rsync command) ✓
### T05 — Git Commit and Push
- Commit SHA: `49e09c3`
- Files committed: 78 (7598 insertions)
- Branch: `main`
- Remote: `origin` → `https://github.com/Ventura-Nomadica/trail-site.git`
- Push result: `* [new branch] main -> main` — success ✓
- Branch tracking: `main` set to track `origin/main` ✓