gnaroshi.dev
Private authoring stays outside the website. The static Astro site validates and renders only the public projection, then records exactly what was deployed.
Actual system evidence

At a glance
- For
- Readers of the public site and the person maintaining it
- Primary use
- Publish reviewed public material without moving private drafts into the website repository.
- Product status
- Usable locally
- Platforms
- Static site · Web
Public workflow
A public website should not become the storage location for unfinished research notes and drafts.
The system separates private paper and writing sources, local publishing tools, a sanitized public feed, and the replaceable presentation site.
- Private sources are checkpointed separately.
- The publisher creates a deterministic public feed.
- The website validates, builds, deploys, and verifies the exact feed commit.
Repository boundaries
- Paper Lab and Writing own private source files.
- Studio owns authoring and publishing.
- Content Feed owns generated public records.
- gnaroshi.dev owns presentation only.
Example workflow
Example publication flow
Follow one reviewed record from private editing to the verified public build.
Write privately
Edit the canonical record in its private source repository.
Preview public fields
Select and review only the fields intended for the public feed.
Publish the feed
Build, validate, diff, and push the sanitized public projection.
Verify the site
Confirm build-info.json matches the expected website and feed commits.
The workflow uses illustrative repository states and does not expose private content.
How this site works
Publishing workflow: from private notes to the public site
Papers and writing begin in private repositories. Studio reviews what should be shared, builds a public record, and the website presents it.
- Private sources
- Paper notesPrivate paper workspace
- WritingPrivate writing workspace
- Review and publish
- Gnaroshi StudioReview and publishing control
- AI serviceOptional AI request service
- Public record
- Public contentGenerated public record
- Presentation
- WebsitePresentation and deployment
Select a repository to trace what feeds it, what it feeds, and what stays outside its boundary.
Selected repository
Upstream
Downstream
What stays elsewhere
Repository boundaries
Paper notes
gnaroshi-paper-labPrivate paper workspace
Stores paper notes, reading sessions, reviews, and oral practice.
What belongs here
- Paper notes
- Reading sessions
- Reviews
- Oral-practice source
- Implementation attempts
What stays elsewhere
- Website UI
- Blog drafts
- Public deployment
Writing
gnaroshi-writingPrivate writing workspace
Stores drafts, English and Korean versions, and writing assets.
What belongs here
- Blog drafts
- Translations
- Writing assets
- Series metadata
What stays elsewhere
- Paper review records
- Public website UI
- Generated feed output
Gnaroshi Studio
gnaroshi-studioReview and publishing control
Creates and reviews content, tracks changes, and publishes selected material.
What belongs here
- macOS app
- CLI
- Shared contracts
- Git operations
- Validation
- Publisher
What stays elsewhere
- Canonical notes
- Website presentation
- Worker runtime
AI service
gnaroshi-apiOptional AI request service
Optionally handles paper review and oral-practice requests.
What belongs here
- AI request handling
- Session generation
- Scoring
- Rate limits
- CORS
What stays elsewhere
- Canonical content
- Website rendering
- Publishing
Public content
gnaroshi-content-feedGenerated public record
Generated data containing only the material selected for publication.
What belongs here
- Public generated records
- Public assets
- Manifest
- Public snapshots
What stays elsewhere
- Drafts
- Private notes
- Full transcripts
- Manual editing
Website
gnaroshi.github.ioPresentation and deployment
Presents the public content in English and Korean and deploys it to gnaroshi.dev.
What belongs here
- Routes
- Presentation
- Localization
- SEO
- Accessibility
- GitHub Pages deployment
What stays elsewhere
- Canonical authoring
- AI generation
- Private repository access
Current public build
- Website commit
d74e6678e2e48c8a1ce106ce05f5c6f8ae497810- Content feed commit
0a2b5c5cdaf283e344d896142aedb565659d26f9- Built
- Feed schema
v1
Studio applications
Independent apps coordinated by Studio
These applications are not part of the website publishing chain. Studio can check, open, or preview a handoff to them, but each app remains independently runnable and keeps its own data.
Deployment verification
- GitHub Actions builds the static artifact.
- The deployed build-info record is compared with the expected commits.
Key features
- English and Korean routes
- Public-feed validation
- Evidence-gated navigation and metrics
- Exact GitHub Pages build provenance
Data and privacy
The website workflow never checks out private paper or writing repositories and receives no cross-repository secret.
Tech stack
Frameworks
- Astro
- Playwright
Languages
- TypeScript
Delivery
- GitHub Actions
Technology icons are repository-owned category symbols; the verified technology name remains visible.
Studio relationship
Studio prepares and publishes the feed; it does not write the website repository.
Current state
The site builds from the public content feed, deploys through GitHub Actions, and verifies the live website and feed commits.
Current limitations
- Public writing and reading sections stay intentionally sparse until reviewed records are published.
Technical notes
- Astro produces a static site with minimal client islands.
- Playwright, link, localization, media, and feed-contract checks gate deployment.
Next milestones
- Publish the first reviewed writing and paper-reading note.
- Keep public navigation useful as the feed grows.