Case Study

trail.venturanomadica.com

The Trail Framework website. Built end-to-end using Trail.

← Back to trail.venturanomadica.com

trail/intents/intent-002/intent.md

intent.md

What's this? →
# 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.