Case Study
trail.venturanomadica.com
The Trail Framework website. Built end-to-end using Trail.
# Intent — trail-site intent-002: Nav Fix, Case Study Update, Git Push, Deploy Workflow
Owner: James Sargent
Last Updated: 2026-03-15
---
## Purpose
intent-001 delivered a working trail-site build. Three small defects and two
outstanding tasks remain before the site is ready to deploy. This intent closes
those items: fixes the persistent nav highlight bug, updates the trail.venturanomadica.com
case study with accurate build stats, pushes the codebase to GitHub, and adds a
GitHub Actions workflow that automatically deploys main to the Infomaniak server
on push.
---
## Constraints
- Technical: PHP site, no JS frameworks. CSS-only solutions preferred where possible.
- The GitHub Actions deploy workflow must use an SSH secret named `DEPLOY_SSH_KEY`
already configured in the repository. Do not invent alternative secret names.
- The deploy target is Infomaniak shared hosting via rsync over SSH.
SSH host, user, and remote path are defined in the workflow as variables —
placeholder values are acceptable since the human will update them.
- Do not modify any page content, layout, or styles beyond what is explicitly in scope.
---
## Dependencies & Files
- Existing trail-site codebase at project root (all .php files, assets/, style.css)
- GitHub remote already set: `https://github.com/Ventura-Nomadica/trail-site.git`
- No input files required from trail/intents/ or trail/meta/files/
---
## Scope (In Scope)
1. Fix the nav header active state — "Scaffold" is permanently highlighted regardless
of current page. Each nav item should highlight only when its page is active.
2. Update the trail.venturanomadica.com entry in `case-studies.php` with the
following accurate stats:
- 2 intents
- 6 hours planning
- 8 minutes: Manager building the plan (both intents)
- 25 minutes: Developer building the site (both intents)
- 45 minutes: Testing
3. Commit all current and modified files and push to `origin main`.
4. Create `.github/workflows/deploy.yml` — a GitHub Actions workflow that triggers
on push to main and deploys the site to Infomaniak via rsync over SSH.
---
## Out of Scope (Non-Goals)
- No changes to any page content other than the trail.venturanomadica.com case study stats.
- No visual redesign or layout changes.
- No changes to the docs renderer or sidebar.
- No other case study entries.
- No Infomaniak server configuration (human handles credentials and server setup).
- No DNS or domain configuration.
---
## Assumptions
- The nav active state is driven by a PHP or CSS mechanism that can be fixed
server-side by comparing the current script name to each nav item's href.
- The GitHub remote is already configured and the Developer has push access via
the local git credential setup.
- The `DEPLOY_SSH_KEY` secret will be added to GitHub by the human after the
workflow file is committed. The workflow file itself uses placeholder values
for host, user, and remote path that the human will update.
- rsync is the correct deployment method for Infomaniak shared hosting.
---
## Specifics
### Nav fix
The current header.php renders the Scaffold button with a hardcoded active/highlight
class. The fix should determine the active page dynamically using PHP's
`$_SERVER['PHP_SELF']` or `basename(__FILE__)` pattern, comparing against each
nav item's href to apply the active class only to the matching page.
### Case study stats — trail.venturanomadica.com
Replace the existing stat badges for trail.venturanomadica.com with:
- `2 intents`
- `6 hours planning`
- `8 min: Manager — both intents`
- `25 min: Developer — both intents`
- `45 minutes: Testing`
The description "This website." should remain unchanged.
### GitHub Actions deploy workflow
The workflow file should:
- Trigger on: push to main branch
- Use ubuntu-latest
- Checkout the repo
- Use rsync via SSH to sync the site files to the Infomaniak server
- Use `DEPLOY_SSH_KEY` from GitHub secrets for SSH authentication
- Include placeholder variables for: DEPLOY_HOST, DEPLOY_USER, DEPLOY_PATH
with clear comments indicating the human must update these before the
workflow will run successfully
---
## Deliverables
1. `header.php` — nav active state fixed
2. `case-studies.php` — trail.venturanomadica.com stats updated
3. `.github/workflows/deploy.yml` — deploy workflow created
4. Git commit pushed to origin main (all files including the above)
---
## Acceptance Criteria
1. Navigating to each page shows only that page's nav item highlighted — no
persistent Scaffold highlight on other pages.
2. The trail.venturanomadica.com case study displays the correct stats as
specified above.
3. `.github/workflows/deploy.yml` exists, is valid YAML, triggers on push to
main, and uses `DEPLOY_SSH_KEY` for SSH auth.
4. `git log origin/main` shows the new commit with all modified files.
---
## Notes
The operating-instructions-override.md from intent-001 applies to this intent
unchanged. The Manager should produce both decisions.md (intent level) and an
enhanced results.md (run level) per the case study telemetry override.