Skip to main content

max / goingson

Docs: fix CONTRIBUTING/README/CHANGELOG drift and the urgency doc table - CONTRIBUTING: drop the deleted plugin-runtime crate (project tree + Crate Boundaries table) and the Rhai "Plugin Style" section; point CSS Workflow at `node build-css.js` (what tauri.conf actually runs) instead of build-css.sh. - README: "three library crates" -> "two" (the table lists core + db-sqlite). - CHANGELOG: add an [Unreleased] Removed note retracting the MCP server and Rhai plugin system shipped in 0.3.0 (both fully gone from code and deps). - urgency.rs: fix the factor table — Priority defaults are 6.0/3.9/1.8, not the 7/5/3 the table claimed (it contradicted both the code and the doc block above). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-02 22:11 UTC
Commit: 0c1dd2d9ad9af1b1a1043ed9f9d2ee32da6f4a93
Parent: df15075
4 files changed, +14 insertions, -14 deletions
@@ -4,6 +4,12 @@ All notable changes to GoingsOn will be documented in this file.
4 4
5 5 Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6 6
7 + ## [Unreleased]
8 +
9 + ### Removed
10 + - MCP server integration and the Rhai plugin system (both added in 0.3.0) have
11 + been removed. CSV import is now native Rust; there is no plugin runtime.
12 +
7 13 ## [0.4.2] — 2026-06-07
8 14
9 15 ### Fixed
M CONTRIBUTING.md +2 -8
@@ -10,7 +10,6 @@ goingson/ (workspace root)
10 10 crates/
11 11 core/ # Domain models, business logic, repository traits
12 12 db-sqlite/ # SQLite repository implementations
13 - plugin-runtime/ # Rhai plugin system
14 13 src-tauri/
15 14 src/
16 15 main.rs # Tauri setup, command registration, background services
@@ -20,7 +19,7 @@ goingson/ (workspace root)
20 19 frontend/
21 20 js/ # JavaScript modules (IIFE pattern)
22 21 css/ # Styles (edit styles.css, never styles.min.css)
23 - build-css.sh # CSS minification script
22 + build-css.js # CSS minification script (run by tauri.conf beforeBuildCommand)
24 23 tauri.conf.json # Tauri configuration
25 24 ```
26 25
@@ -30,7 +29,6 @@ goingson/ (workspace root)
30 29 |-------|------|---------------|
31 30 | `core` | Models, validation, urgency, recurrence, repository traits | Nothing internal |
32 31 | `db-sqlite` | SQLite implementations of repository traits | `core` |
33 - | `plugin-runtime` | Rhai plugin system | `core` |
34 32 | `src-tauri` | Tauri app, commands, state | All crates |
35 33
36 34 **Strict rule:** Business logic lives in `core`. Repository implementations in `db-sqlite`. Commands in `src-tauri` are thin wrappers. JavaScript never duplicates logic that exists in Rust.
@@ -84,10 +82,6 @@ progressBar.style.width = `${task.subtaskProgress}%`;
84 82
85 83 When adding new features, always ask: can this be computed once in Rust instead of repeatedly in JavaScript?
86 84
87 - ## Plugin Style
88 -
89 - Import plugins in `plugins/` follow the cross-project Rhai style guide. Run `_meta/scripts/lint-rhai.sh` to check formatting. Key points: 4-space indent, `snake_case` functions, `UPPER_CASE` constants, header comment block, host functions via `goingson::` namespace.
90 -
91 85 ## Tauri Commands
92 86
93 87 Commands are thin wrappers in `src-tauri/src/commands/`. They extract parameters, call repository methods, and map to response types:
@@ -237,7 +231,7 @@ Never insert user-provided strings into innerHTML without escaping.
237 231 ## CSS Workflow
238 232
239 233 - **Edit:** `src-tauri/frontend/css/styles.css`
240 - - **Build:** Run `src-tauri/frontend/build-css.sh` to generate `styles.min.css`
234 + - **Build:** Run `node src-tauri/frontend/build-css.js` to generate `styles.min.css` (Tauri runs this automatically via `beforeBuildCommand`)
241 235 - **Never** edit `styles.min.css` directly — it's auto-generated via clean-css-cli
242 236 - The HTML loads `styles.min.css`
243 237
M README.md +1 -1
@@ -44,7 +44,7 @@ cargo test --workspace
44 44
45 45 ## Workspace Architecture
46 46
47 - The project is a Cargo workspace with three library crates and one application crate:
47 + The project is a Cargo workspace with two library crates and one application crate:
48 48
49 49 | Crate | Path | Role |
50 50 |-------|------|------|
@@ -58,11 +58,11 @@ pub fn calculate_urgency(
58 58 ///
59 59 /// Additive score from these factors (all configurable via `UrgencyConfig`):
60 60 ///
61 - /// | Factor | Default | Condition |
62 - /// |-------------|---------|-------------------------------------------|
63 - /// | Priority | 3-7 | High=7, Medium=5, Low=3 |
64 - /// | Overdue | +12.0 | Due date in the past |
65 - /// | Due soon | 0-7.0 | Linear scale: 7 days out (0) → due (7.0) |
61 + /// | Factor | Default | Condition |
62 + /// |-------------|-----------|-------------------------------------------|
63 + /// | Priority | 1.8-6.0 | High=6.0, Medium=3.9, Low=1.8 |
64 + /// | Overdue | +12.0 | Due date in the past |
65 + /// | Due soon | 0-7.0 | Linear scale: 7 days out (0) → due (7.0) |
66 66 /// | Age | 0-2.0 | Linear over 30 days, capped at 2.0 |
67 67 /// | Started | +4.0 | Task status is Started |
68 68 /// | "urgent" tag| +2.0 | Case-insensitive tag match |