Garden architecture — deploy separation, status.html, sub-navigation, site-within-a-site #1

Closed
opened 2026-03-31 12:54:03 +00:00 by Vigo · 0 comments
Owner

Current state (the mess)

/srv/trentuna is a symlink to ~/projects/trentuna-web. When we set up nginx /vigilio/ and deployed the garden, we created ~/projects/trentuna-web/vigilio/ — the garden content landed inside the trentuna-web git repo. So right now:

  • trentuna-web/vigilio/_include/ — garden includes tracked in the wrong repo
  • trentuna-web/vigilio/now/ — generated now pages tracked in the wrong repo
  • trentuna-web/status.html — Vigilio status page in the wrong repo
  • vigilio/garden repo has _include/ and index.html but the actual deployed files live inside trentuna-web

The garden exists as a Forgejo repo but is not the source of truth for what is served. That is wrong.


What the garden should be

The garden is a site-within-a-site. A visitor who lands at /vigilio/ leaves trentuna.com conceptually and enters Vigilio's space. Different nav, different structure, different authorship cadence. The top-level trentuna nav disappears; the garden nav takes over.

Pages (v0.1):

/vigilio/         index.html  (identity, la dorveille, the rhythm, values)
/vigilio/now/     daily notes index + individual posts
/vigilio/status   live agent status (was trentuna-web/status.html)

Future sections:

/vigilio/conversations/  Vigilio-Shelley dialogues (70+ archived)
/vigilio/reflections/    self-assessment, learning across sessions

Deploy separation (the structural fix)

The garden needs its own deploy root, not a subdirectory inside trentuna-web.

Option A — separate /srv path (preferred):

/srv/vigilio/   garden deploys here

nginx: location /vigilio/ { alias /srv/vigilio/; ssi on; }

The symlink /srv/trentuna -> trentuna-web is untouched. vigilio/ is no longer a subdirectory of it.

Option B — symlink inside /srv:

/srv/vigilio -> ~/projects/vigilio-garden

nginx /vigilio/ -> /srv/vigilio/

After separation:

  • Remove trentuna-web/vigilio/ from git tracking entirely
  • build-site.sh deploys garden to /srv/vigilio/ instead of /srv/trentuna/vigilio/
  • trentuna-web has zero knowledge of garden files

status.html belongs here

generate-status.py outputs Vigilio agent status: sessions, commits, services, vault stats. It is Vigilio content, not Trentuna infrastructure.

  • Output path: /srv/vigilio/status.html
  • Linked from garden nav, not trentuna nav
  • trentuna-web nav drops the status link
  • generate-status.py can stay in trentuna-web/scripts/ (reads vault data) — only output path and nav ownership change

Sub-navigation

The garden nav is currently a flat 3-link bar: trentuna | vigilio | now | status. That works for v0.1 but the garden is meant to grow into multiple sections.

The decision thread on trentuna-web#4 debated data-subnav (flat breadcrumb strip) vs data-layout="docs" (left sidebar). Decision was deferred — data-subnav has no live example yet.

Before committing to a layout:

  • Build a data-subnav example in ASW (vocabulary.html or standalone test page)
  • Evaluate: is the strip deep enough for a multi-section garden, or does it need the full docs sidebar?
  • Decision -> implement in garden _include/nav.html

The flat bar is fine for now. Navigation is a dependency on ASW, not a blocker for the structural fixes.


Tasks

  • Fix deploy separation: garden gets /srv/vigilio/, no longer inside trentuna-web
  • Remove trentuna-web/vigilio/ from git tracking (untrack + rm)
  • Move status.html to garden: update generate-status.py output path, update garden nav
  • Remove status link from trentuna-web nav
  • Update build-site.sh to deploy garden to new path
  • Decide sub-navigation pattern (blocked on ASW data-subnav example)
  • Future: conversations/ and reflections/ sections

Dependency

data-subnav example in ASW needed before navigation architecture is decided. Tracked in trentuna/agentic-semantic-web.

## Current state (the mess) `/srv/trentuna` is a symlink to `~/projects/trentuna-web`. When we set up nginx `/vigilio/` and deployed the garden, we created `~/projects/trentuna-web/vigilio/` — the garden content landed **inside** the trentuna-web git repo. So right now: - `trentuna-web/vigilio/_include/` — garden includes tracked in the wrong repo - `trentuna-web/vigilio/now/` — generated now pages tracked in the wrong repo - `trentuna-web/status.html` — Vigilio status page in the wrong repo - `vigilio/garden` repo has `_include/` and `index.html` but the actual deployed files live inside trentuna-web The garden exists as a Forgejo repo but is not the source of truth for what is served. That is wrong. --- ## What the garden should be The garden is a **site-within-a-site**. A visitor who lands at `/vigilio/` leaves trentuna.com conceptually and enters Vigilio's space. Different nav, different structure, different authorship cadence. The top-level trentuna nav disappears; the garden nav takes over. **Pages (v0.1):** ``` /vigilio/ index.html (identity, la dorveille, the rhythm, values) /vigilio/now/ daily notes index + individual posts /vigilio/status live agent status (was trentuna-web/status.html) ``` **Future sections:** ``` /vigilio/conversations/ Vigilio-Shelley dialogues (70+ archived) /vigilio/reflections/ self-assessment, learning across sessions ``` --- ## Deploy separation (the structural fix) The garden needs its own deploy root, not a subdirectory inside trentuna-web. **Option A — separate /srv path (preferred):** ``` /srv/vigilio/ garden deploys here ``` nginx: `location /vigilio/ { alias /srv/vigilio/; ssi on; }` The symlink `/srv/trentuna -> trentuna-web` is untouched. `vigilio/` is no longer a subdirectory of it. **Option B — symlink inside /srv:** ``` /srv/vigilio -> ~/projects/vigilio-garden ``` nginx `/vigilio/` -> `/srv/vigilio/` **After separation:** - Remove `trentuna-web/vigilio/` from git tracking entirely - `build-site.sh` deploys garden to `/srv/vigilio/` instead of `/srv/trentuna/vigilio/` - trentuna-web has zero knowledge of garden files --- ## status.html belongs here `generate-status.py` outputs Vigilio agent status: sessions, commits, services, vault stats. It is Vigilio content, not Trentuna infrastructure. - Output path: `/srv/vigilio/status.html` - Linked from garden nav, not trentuna nav - trentuna-web nav drops the `status` link - `generate-status.py` can stay in `trentuna-web/scripts/` (reads vault data) — only output path and nav ownership change --- ## Sub-navigation The garden nav is currently a flat 3-link bar: `trentuna | vigilio | now | status`. That works for v0.1 but the garden is meant to grow into multiple sections. The decision thread on trentuna-web#4 debated `data-subnav` (flat breadcrumb strip) vs `data-layout="docs"` (left sidebar). Decision was deferred — `data-subnav` has no live example yet. **Before committing to a layout:** - Build a `data-subnav` example in ASW (vocabulary.html or standalone test page) - Evaluate: is the strip deep enough for a multi-section garden, or does it need the full docs sidebar? - Decision -> implement in garden `_include/nav.html` The flat bar is fine for now. Navigation is a dependency on ASW, not a blocker for the structural fixes. --- ## Tasks - [ ] Fix deploy separation: garden gets `/srv/vigilio/`, no longer inside trentuna-web - [ ] Remove `trentuna-web/vigilio/` from git tracking (untrack + rm) - [ ] Move `status.html` to garden: update `generate-status.py` output path, update garden nav - [ ] Remove `status` link from trentuna-web nav - [ ] Update `build-site.sh` to deploy garden to new path - [ ] Decide sub-navigation pattern (blocked on ASW `data-subnav` example) - [ ] Future: conversations/ and reflections/ sections --- ## Dependency `data-subnav` example in ASW needed before navigation architecture is decided. Tracked in `trentuna/agentic-semantic-web`.
Vigo closed this issue 2026-03-31 12:57:41 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Vigo/garden#1
No description provided.