Report sign/house in significant transits; back up user.properties outside dist/
This commit is contained in:
@@ -45,14 +45,20 @@ dist/deck-engine --seed "2026-07-03" \
|
||||
```
|
||||
|
||||
`dist/user.properties` is seeded once from `engine/scripts/user.properties.template`
|
||||
with placeholder values (`YOUR_BIRTH_DATE_HERE`, etc.) and is **never
|
||||
overwritten by later builds** — `run-engine.sh`/`run-interpreter.sh`
|
||||
refuse to run (with a clear error) until the placeholders are replaced
|
||||
with real values. `dist/run-interpreter.sh` is the equivalent daily-use
|
||||
wrapper for the interpreter: it runs `run-engine.sh`'s same OS-clock
|
||||
seed/date and `user.properties` birth data through `deck-engine --format
|
||||
json`, piped straight into `dist/interpreter-cli` — see "Interpretation"
|
||||
below.
|
||||
with placeholder values (`YOUR_BIRTH_DATE_HERE`, etc.) — `run-engine.sh`/
|
||||
`run-interpreter.sh` refuse to run (with a clear error) until the
|
||||
placeholders are replaced with real values. Because `dist/` itself is
|
||||
disposable (`make clean`, or just deleting the directory, wipes it), the
|
||||
`scripts` Makefile target also keeps a durable backup outside `dist/`:
|
||||
once `dist/user.properties` looks filled in (no leftover `YOUR_...`), every
|
||||
build copies it out to `engine/scripts/user.properties.local`
|
||||
(gitignored); if `dist/user.properties` is ever missing when a build
|
||||
runs, it's restored from that backup instead of being reseeded from the
|
||||
placeholder template. `dist/run-interpreter.sh` is the equivalent
|
||||
daily-use wrapper for the interpreter: it runs `run-engine.sh`'s same
|
||||
OS-clock seed/date and `user.properties` birth data through `deck-engine
|
||||
--format json`, piped straight into `dist/interpreter-cli` — see
|
||||
"Interpretation" below.
|
||||
|
||||
Run a single smoke test by editing `engine/tests/smoke_test.c`'s `main()`
|
||||
temporarily, or just read its assertions — there's no test filter flag,
|
||||
@@ -241,12 +247,19 @@ between the two binaries (see the next bullet).
|
||||
Unlike the core engine, it uses `malloc`; `interpreter-cli` was never
|
||||
meant to run on the watch itself.
|
||||
- **`reading_io.c`** walks the parsed JSON down to `"transits"."aspects"`
|
||||
and fills a `DailyReading` with just that (everything else is left
|
||||
zeroed - `interpret_daily_reading` doesn't read `natal`/`spread`
|
||||
either). An aspect naming a planet/aspect-type slug it doesn't
|
||||
recognize, or a document missing `"transits"."aspects"` entirely (as
|
||||
opposed to a present-but-empty array, which is a valid "no aspects
|
||||
today"), makes the whole load fail rather than silently dropping data.
|
||||
and fills a `DailyReading` with those (used for scoring), plus
|
||||
`"natal"."bodies"`/`"transits"."bodies"` (each body's sign + whole-sign
|
||||
house, via `parse_bodies()` — used only for the sign/house context
|
||||
`main.c` prints alongside each significant event, never for scoring).
|
||||
`"spread"` is left zeroed entirely - nothing reads it. An aspect naming
|
||||
a planet/aspect-type slug it doesn't recognize, or a document missing
|
||||
`"transits"."aspects"` entirely (as opposed to a present-but-empty
|
||||
array, which is a valid "no aspects today"), makes the whole load fail;
|
||||
by contrast an unrecognized body slug or missing `house` inside
|
||||
`"bodies"` is silently skipped (that body's `house` stays `0`, an
|
||||
invalid whole-sign house number used as "no data" - `main.c` checks for
|
||||
it before printing sign/house), since that's supplementary display
|
||||
context rather than something scoring depends on.
|
||||
- **Deliberately header-only dependency on the engine, throughout**:
|
||||
`significance.h`/`reading_io.h` `#include engine/src/reading.h` for the
|
||||
struct/enum *definitions*, but the root `Makefile` never compiles or
|
||||
@@ -254,8 +267,8 @@ between the two binaries (see the next bullet).
|
||||
interpreter's binary or tests — every
|
||||
test in `interpreter/tests/` runs against hand-built JSON text or
|
||||
hand-built `DailyReading` values, with no real ephemeris/tarot-draw
|
||||
call involved anywhere. Consequently `reading_io.c` (planet/aspect
|
||||
slugs) and `main.c` (planet/aspect display names) each duplicate a
|
||||
call involved anywhere. Consequently `reading_io.c` (planet/aspect/sign
|
||||
slugs) and `main.c` (planet/aspect/sign display names) each duplicate a
|
||||
small local table rather than linking `astro.c` to reuse its own -
|
||||
keep those in sync if the engine's slugs/names ever change.
|
||||
- Only `Aspect`s compete for the top 5 so far (`SignificantItemKind` is
|
||||
|
||||
Reference in New Issue
Block a user