diff --git a/.planboard.json b/.planboard.json deleted file mode 100644 index 04e0b33..0000000 --- a/.planboard.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "version": 1, - "plans": { - "docs/plan/compiler/2026-08-01-haxe-parity-language.md": { - "tasks": { - "111d92e6436d": { - "status": "doing", - "updatedAt": "2026-08-12T23:42:50Z" - }, - "80e49fea186b": { - "status": "done", - "updatedAt": "2026-08-12T23:42:38Z" - }, - "84addb11f795": { - "status": "done", - "updatedAt": "2026-08-12T23:42:35Z" - }, - "942b4a1e8925": { - "status": "done", - "updatedAt": "2026-08-12T23:42:15Z" - }, - "ea0f91fca71b": { - "status": "done", - "updatedAt": "2026-08-12T23:42:40Z" - } - } - } - } -} diff --git a/.planboard/work/docs--plan--compiler--2026-08-01-haxe-parity-language/progress.md b/.planboard/work/docs--plan--compiler--2026-08-01-haxe-parity-language/progress.md deleted file mode 100644 index 37ece26..0000000 --- a/.planboard/work/docs--plan--compiler--2026-08-01-haxe-parity-language/progress.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -planboard: generated -kind: ledger -plan: docs/plan/compiler/2026-08-01-haxe-parity-language.md -started: 2026-08-13 ---- - -# Ledger — Haxe-Parity Language Adoptions Implementation Plan - diff --git a/docs/08-project-structure.md b/docs/08-project-structure.md index 777f958..fef063e 100644 --- a/docs/08-project-structure.md +++ b/docs/08-project-structure.md @@ -15,7 +15,6 @@ writeonce-all/ ├── prototypes/ ✅ wo-db C++ query-engine reference; ⚠ wo-rt-c = stale duplicate of runtime/ ├── .dev/reference/ ✅ v1 crates workspace, colibri, llama-cpp; linux/ + go/ symlinks (per-dev) ├── docs/ ✅ ALL documentation: numbered design docs, plan/, runtime/, examples/, superpowers/ -├── content/ data/ wo-data/ static/ templates/ infra/ ✅ v1 blog operating assets (migration-plan governed) ├── justfile recipes: rt-c-demo/bench today; woc-/wovm-/oop-accept as plans land ├── Cargo.toml the Rust workspace root (crates/*; .dev/reference/crates excluded) └── .dev/ gitignored per-developer links + commit.md draft (see .dev/README.md) @@ -106,10 +105,6 @@ docs/ Repo rule restated: documentation belongs here; code directories keep one orientation README each. -### v1 blog operating assets — `content/`, `data/`, `wo-data/`, `static/`, `templates/`, `infra/` - -The original writeonce blog's articles (`content/`), its data directories, `.htmlx` templates (`templates/` — cited by the UI track as concrete v1 usage), static files, and deploy config. Governed by the wo-seg migration plan; untouched by the OOP/systems tracks except as reference. `target/` is cargo build output (ignored). - ### `.dev/` — developer-local state Gitignored symlinks into per-machine AI-tooling state plus `commit.md`, the running commit-message draft (the user commits; agents only append drafts). See `.dev/README.md`. diff --git a/infra/deploy.sh b/infra/deploy.sh deleted file mode 100755 index e673b45..0000000 --- a/infra/deploy.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -# deploy.sh — run from the development machine to build, copy, and restart -set -e - -SERVER="writeonce.de" -REMOTE_DIR="/opt/writeonce" - -echo "Building release binary..." -cargo build --release -p wo-rt --bin writeonce - -echo "Copying binary to server..." -scp target/release/writeonce "$SERVER:$REMOTE_DIR/writeonce.new" - -echo "Syncing content..." -rsync -az --delete content/ "$SERVER:$REMOTE_DIR/content/" - -echo "Syncing templates..." -rsync -az --delete templates/ "$SERVER:$REMOTE_DIR/templates/" - -echo "Syncing static assets..." -rsync -az --delete static/ "$SERVER:$REMOTE_DIR/static/" - -echo "Swapping binary and restarting service..." -ssh "$SERVER" " - sudo mv $REMOTE_DIR/writeonce.new $REMOTE_DIR/writeonce - sudo chmod +x $REMOTE_DIR/writeonce - sudo chown writeonce:writeonce $REMOTE_DIR/writeonce - sudo systemctl restart writeonce -" - -echo "Checking status..." -ssh "$SERVER" "sudo systemctl status writeonce --no-pager" - -echo "Deploy complete." diff --git a/infra/setup.sh b/infra/setup.sh deleted file mode 100755 index 288cbd2..0000000 --- a/infra/setup.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -# setup.sh — run once on the server to create user, directory, service, nginx, and SSL -set -e - -echo "Creating writeonce user..." -sudo useradd -r -s /bin/false writeonce 2>/dev/null || echo "User already exists" - -echo "Creating directory structure..." -sudo mkdir -p /opt/writeonce/{content,data,templates,static} -sudo chown -R writeonce:writeonce /opt/writeonce - -echo "Installing systemd service..." -sudo cp writeonce.service /etc/systemd/system/ -sudo systemctl daemon-reload -sudo systemctl enable writeonce - -echo "Configuring nginx..." -sudo cp writeonce.de.nginx /etc/nginx/sites-available/writeonce.de -sudo ln -sf /etc/nginx/sites-available/writeonce.de /etc/nginx/sites-enabled/ -sudo nginx -t -sudo systemctl reload nginx - -echo "Setting up SSL with Let's Encrypt..." -sudo apt install -y certbot python3-certbot-nginx -sudo certbot --nginx -d writeonce.de -d www.writeonce.de - -echo "Installing certbot reload hook..." -sudo mkdir -p /etc/letsencrypt/renewal-hooks/deploy -sudo tee /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh > /dev/null << 'HOOK' -#!/bin/bash -systemctl reload nginx -HOOK -sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh - -echo "Setup complete." -echo "Run deploy.sh from your development machine to deploy the binary." diff --git a/infra/sync.sh b/infra/sync.sh deleted file mode 100755 index c31af7e..0000000 --- a/infra/sync.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# sync.sh — sync content, templates, and static assets without rebuilding or restarting -set -e - -SERVER="shoney@192.168.0.217" -REMOTE_DIR="/opt/writeonce" - -echo "Syncing content..." -rsync -az --delete content/ "$SERVER:/tmp/writeonce-content/" - -echo "Syncing templates..." -rsync -az --delete templates/ "$SERVER:/tmp/writeonce-templates/" - -echo "Syncing static assets..." -rsync -az --delete static/ "$SERVER:/tmp/writeonce-static/" - -echo "Sync complete. Files staged in /tmp/writeonce-{content,templates,static}/" diff --git a/infra/writeonce.de.nginx b/infra/writeonce.de.nginx deleted file mode 100644 index 8e9424e..0000000 --- a/infra/writeonce.de.nginx +++ /dev/null @@ -1,40 +0,0 @@ -server { - listen 80; - server_name writeonce.de www.writeonce.de; - return 301 https://$server_name$request_uri; -} - -server { - listen 443 ssl http2; - server_name writeonce.de www.writeonce.de; - - ssl_certificate /etc/letsencrypt/live/writeonce.de/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/writeonce.de/privkey.pem; - ssl_protocols TLSv1.2 TLSv1.3; - ssl_ciphers HIGH:!aNULL:!MD5; - ssl_prefer_server_ciphers on; - - # HSTS - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; - - location / { - proxy_pass http://127.0.0.1:3000; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - # Keep connections open for database subscriptions - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_read_timeout 86400s; - proxy_send_timeout 86400s; - } - - # Static assets — let nginx serve directly for better caching - location /static/ { - alias /opt/writeonce/static/; - expires 1y; - add_header Cache-Control "public, immutable"; - } -} diff --git a/infra/writeonce.service b/infra/writeonce.service deleted file mode 100644 index f3e27b4..0000000 --- a/infra/writeonce.service +++ /dev/null @@ -1,24 +0,0 @@ -[Unit] -Description=writeonce content platform -After=network.target - -[Service] -Type=simple -User=writeonce -Group=writeonce -WorkingDirectory=/opt/writeonce -ExecStart=/opt/writeonce/writeonce -Restart=on-failure -RestartSec=5 -StandardOutput=journal -StandardError=journal - -# Security hardening -NoNewPrivileges=true -ProtectSystem=strict -ProtectHome=true -ReadWritePaths=/opt/writeonce/data -PrivateTmp=true - -[Install] -WantedBy=multi-user.target diff --git a/prompt.md b/prompt.md deleted file mode 100644 index 3bace64..0000000 --- a/prompt.md +++ /dev/null @@ -1,2 +0,0 @@ -Next per the -board: 13c — LIVE pricing push (the subscription registry and WebSocket upgrade that replaces the 501 stub, pairing with 09d). diff --git a/static/favicon.svg b/static/favicon.svg deleted file mode 100644 index 8ee402a..0000000 --- a/static/favicon.svg +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/static/logo.svg b/static/logo.svg deleted file mode 100644 index b44b865..0000000 --- a/static/logo.svg +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/static/styles/code-theme.css b/static/styles/code-theme.css deleted file mode 100644 index b11a903..0000000 --- a/static/styles/code-theme.css +++ /dev/null @@ -1,4 +0,0 @@ -.kw { color: #d73a49; font-weight: bold; } -.str { color: #032f62; } -.cm { color: #6a737d; font-style: italic; } -.num { color: #005cc5; } diff --git a/static/styles/main.css b/static/styles/main.css deleted file mode 100644 index 949fe7b..0000000 --- a/static/styles/main.css +++ /dev/null @@ -1,18 +0,0 @@ -* { margin: 0; padding: 0; box-sizing: border-box; } -body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; line-height: 1.6; max-width: 800px; margin: 0 auto; padding: 2rem; color: #333; } -header nav { display: flex; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid #eee; margin-bottom: 2rem; } -header nav a { text-decoration: none; color: #555; } -header nav a:first-child { font-weight: bold; color: #111; } -h1 { margin-bottom: 1rem; } -h2 { margin: 1.5rem 0 0.5rem; } -p { margin-bottom: 0.75rem; } -.meta { color: #888; font-size: 0.9rem; } -.tags { color: #666; font-size: 0.85rem; } -.article-card { padding: 1rem 0; border-bottom: 1px solid #f0f0f0; } -.article-card h2 { margin: 0; font-size: 1.2rem; } -.article-card a { text-decoration: none; color: #222; } -.article-card a:hover { color: #0066cc; } -article section { margin-bottom: 1.5rem; } -code { background: #f5f5f5; padding: 0.15rem 0.4rem; border-radius: 3px; font-size: 0.9em; } -pre { background: #f5f5f5; padding: 1rem; border-radius: 6px; overflow-x: auto; margin: 1rem 0; } -footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid #eee; color: #999; font-size: 0.85rem; } diff --git a/templates/about.htmlx b/templates/about.htmlx deleted file mode 100644 index a225638..0000000 --- a/templates/about.htmlx +++ /dev/null @@ -1,19 +0,0 @@ -
Hi, I'm Shoney John Arickathil — a full stack developer based in Mannheim, Germany. I write about software engineering, systems programming, DevOps, and things I learn along the way.
- -I work across the stack with C# .NET, Python, TypeScript, Java Spring Boot, Rust, and Go. My interests lean toward backend systems, infrastructure as code, and building tools from scratch.
- -Outside of work, I enjoy digging into low-level systems programming, experimenting with machine learning, and writing about what I find.
- -writeonce is my personal blog. The engine behind it is a single Rust binary with embedded storage — no external database, no framework, just a custom runtime with kernel-level file watching for live content updates.
-The source code is on GitHub.
- -a personal blog on software engineering, systems programming, and everything in between.
-