archvillainette
03e2320788
Conversion to full YAML
2026-05-13 19:22:07 +02:00
archvillainette
7d286551b3
Wrapper tool hardening and cleanup
2026-05-13 19:06:24 +02:00
archvillainette
53cb1e6996
Portrait reservation fix?
2026-05-12 17:36:19 +02:00
archvillainette
838d632a28
Changelog fixes
2026-05-10 18:34:16 +02:00
archvillainette
7919ded8b4
Model compilation contract
2026-05-10 09:11:06 +02:00
archvillainette
dee53e8eb4
Model compilation contract
2026-05-08 22:29:46 +02:00
archvillainette
c7fd63a80c
Music Pipeline Configuration Hardening
2026-05-08 11:22:57 +02:00
archvillainette
75942b0940
Normalize Log Linebreaks
2026-05-08 09:14:27 +02:00
archvillainette
4732947db8
Compile pipeline fix
2026-05-08 09:05:06 +02:00
archvillainette
91c90793a2
Extraction Hardening
2026-05-08 01:26:41 +02:00
archvillainette
fa4c9116ae
Hardening audit
...
Key hardening changes:
- Config validation now rejects paths.source: . and paths.assets: ., so source/asset roots cannot
resolve to the repository root.
- apply-hak-manifest now refuses to run when paths.source is unset or unsafe, instead of potentially
writing under a root-level module/.
- Inline flags across utility parsers now reject empty values consistently, e.g. --dataset=, --hak=,
--endpoint=, --output=.
- build-changelog now supports --flag=value inline syntax like the other utilities.
2026-05-08 00:31:17 +02:00
archvillainette
9f16aa8872
Fix paths asset regression
2026-05-08 00:23:41 +02:00
archvillainette
4dc16793cd
Restore Spinner
2026-05-07 23:08:26 +02:00
archvillainette
d1b20684f5
Configuration hardening
2026-05-07 21:33:53 +02:00
archvillainette
bba0d2fb45
Music Pipeline Refactor
2026-05-07 18:17:40 +02:00
archvillainette
6ab5f05c41
Log Refactor Phase 2
2026-05-07 15:36:40 +02:00
archvillainette
26db69c9eb
Script Wrapper Contract
2026-05-07 15:12:00 +02:00
archvillainette
b39bdf13e8
Configuration Hardening 2
...
What changed:
- Added visible runtime override reporting with masking for sensitive values.
- Expanded effective config for build cleanup, script compiler discovery/env, extract layout/cleanup/
HAK discovery, wiki deploy defaults, autogen cache policy, and release-source env names.
- Wired configured values into build, script compiler resolution, extract, autogen cache refresh/max
age, parts manifest release source, wiki generation/deploy, and TLK output naming.
- Added config sources override output and validation-rule hints in config explain.
- Added CONFIGURATION_HARDENING_AUDIT.md.
- Updated README.md with config commands, schema defaults, and JSON artifact boundaries.
- Added regression tests for override visibility/masking, compiler/extract/wiki/autogen config,
configured HAK discovery, and config sources output.
2026-05-07 14:22:47 +02:00
archvillainette
60d2de9f2d
Configuration Hardening
...
Key changes:
- Added internal/project/effective.go with normalized effective config, defaults, provenance, and
JSON output.
- Added config subcommands:
- config validate
- config effective [--json|--yaml]
- config inspect [<key>]
- config explain <key>
- config sources
- Added YAML schema fields for configurable outputs, cache roots, script cache, inventory extensions,
topdata output/wiki paths, and autogen cache root.
- Routed existing hardcoded paths through effective config wrappers for module archives, HAK
manifests/archives, script cache, music cache/credits, topdata outputs, and autogen caches.
- Added validation for unsafe generated output/cache paths.
- Updated command descriptions to avoid fixed build/, .cache, sow_top, etc.
- Added regression tests for defaults, provenance, deterministic effective config, YAML-controlled
derivation, config commands, and invalid paths.
2026-05-07 14:09:20 +02:00
archvillainette
000d31ad24
YAML Configuration Refactor
2026-05-07 13:44:46 +02:00
archvillainette
7abcbf1a38
Log Refactor
2026-05-07 13:33:25 +02:00
archvillainette
13a615dbd7
Credits Caching Pipeline Test
2026-05-07 12:13:03 +02:00
archvillainette
b717b9cce2
Panic Fix
2026-05-07 09:09:41 +02:00
archvillainette
fa3dde4293
.cache used for credits
2026-05-07 09:04:20 +02:00
archvillainette
f6bb4fe3d7
Music Pipeline Implementation
2026-05-07 08:51:42 +02:00
archvillainette
601e89bece
Packaging Fix
2026-05-07 07:41:22 +02:00
archvillainette
90ba281f1b
Changelog Automation
2026-05-06 13:51:00 +02:00
archvillainette
a7b4c4a908
Change severity of missing assets to Warn
2026-05-06 09:44:14 +02:00
archvillainette
a1bb5b74f8
Normalized Routing
2026-05-04 18:45:51 +02:00
archvillainette
b3b81bd7d6
Fix Throbber Linebreak
2026-05-04 18:34:50 +02:00
archvillainette
66a3655133
Circ Cloudflare
2026-05-04 18:17:12 +02:00
archvillainette
c86aa9e2de
Honor 'SOW_ASSETS_SERVER_URL and 'SOW_ASSETS_REPO'
2026-05-04 18:06:58 +02:00
archvillainette
18eab086cc
Move Wiki Pages to MD
2026-04-30 20:43:53 +02:00
archvillainette
78133efdf4
Fix Wiki Deploy Post Titles
2026-04-30 20:17:02 +02:00
archvillainette
f480815e5d
Wiki Deploy Code
2026-04-30 19:51:50 +02:00
archvillainette
d893785c0c
Fix Autogen Lockfile Overrides
2026-04-25 23:36:12 +02:00
archvillainette
88843a1ec1
Refresh Manifests
2026-04-25 09:06:28 +02:00
archvillainette
4009931fd0
Dev Testing + AutoGen Activation
2026-04-25 08:57:10 +02:00
archvillainette
b6fff4bed4
Head Accessories AutoGen Configuration
2026-04-25 07:40:17 +02:00
archvillainette
831d3b47da
Refactor build and topdata path resolution through project config
2026-04-24 19:11:10 +02:00
archvillainette
d880661599
The Throbber
2026-04-21 19:31:19 +02:00
archvillainette
85e98acc45
Clean Source Paths Only
2026-04-21 19:24:44 +02:00
archvillainette
899534e9cd
Fix Destructive Extract v2
2026-04-21 19:21:44 +02:00
archvillainette
c4c32fb463
Fix Destructive Extracts
2026-04-21 19:16:01 +02:00
archvillainette
2c2dce7e41
Add Extract Ignore Lists
2026-04-21 19:10:29 +02:00
archvillainette
b690135057
Allow Optional Args With Extract
2026-04-21 19:04:58 +02:00
archvillainette
8bfcebc6dc
Fix No Forced Paths Issue
2026-04-21 15:59:39 +02:00
archvillainette
64f357734c
No Forced Paths
2026-04-21 15:41:01 +02:00
archvillainette
f249108cf0
Changed sow-tools HAK split planning to preserve previous split membership
2026-04-18 18:39:15 +02:00
archvillainette
e0b3164427
Keep wiki deploy dry runs read-only
2026-04-18 18:30:15 +02:00
archvillainette
8e7ffd8f4f
Resolve LFS objects from git common dir
2026-04-18 16:03:49 +02:00
archvillainette
dfde20f679
Add deploy-wiki command for native DokuWiki deployment
...
- Add DeployWikiWithOptions function in new wiki_deploy.go
- Add deploy-wiki command to sow-toolkit CLI
- Supports DOKUWIKI_RPC_* and GITHUB_REF_NAME env vars
- Includes --dry-run, --source-dir, --manifest options
2026-04-18 12:23:24 +02:00
archvillainette
c52311ce5f
Add build-wiki command for isolated wiki generation
...
- Add BuildWikiWithOptions in native.go for building wiki from pre-existing topdata
- Add runBuildWiki and parseBuildWikiArgs in app.go for CLI integration
- Add --force flag to force rebuild even when output is current
2026-04-18 11:13:25 +02:00
archvillainette
b6ed92e3e8
Clear Old Assets Path
2026-04-18 11:02:38 +02:00
archvillainette
5e900d00b5
Flatten Cache Folder
2026-04-18 10:34:18 +02:00
archvillainette
6f6bf7080a
Move Generation Destinations
2026-04-18 10:24:34 +02:00
archvillainette
897776f432
Respect Accessibility Fields For Feats
2026-04-18 09:28:08 +02:00
archvillainette
6daf5bf7a7
Opt-In Wiki Generation
2026-04-18 09:11:03 +02:00
archvillainette
338b4abf3b
Optimization Pass
2026-04-18 08:57:33 +02:00
archvillainette
1e9a81a6cf
Fix Generated Feat Identity Canonicalization
2026-04-17 21:35:54 +02:00
archvillainette
f32dd224fe
Build Path Cleanup
2026-04-17 21:09:02 +02:00
archvillainette
d77b44c210
Fix lockfile generation, Key authoring hardening, and generic table injection
2026-04-17 20:43:07 +02:00
archvillainette
376de5d67a
In-line Portrait Generation
2026-04-16 12:04:28 +02:00
archvillainette
ef431bc8ae
Cache Git Log
2026-04-15 15:11:31 +02:00
archvillainette
787ba0728c
Build with CreatedAt time instead of ChangedAt
2026-04-15 15:03:55 +02:00
archvillainette
ab18baf067
build-haks now accepts --source-manifest <path>
...
When that flag is used, sow-tools:
- collects only the assets referenced by that manifest subset
- skips full-project chunk planning for the per-archive run
- reconstructs just the requested archive chunks from the manifest
2026-04-14 12:12:42 +02:00
archvillainette
9577bc853b
Patch Content Requirements Blocker
...
Root cause:
build-haks --archive ... was still collecting content requirements for
the entire asset inventory before chunk filtering.
So even when building sow_over_01, it demanded downloaded LFS objects
from unrelated groups like appr.
2026-04-14 11:48:31 +02:00
archvillainette
9dbb533241
Parse LFS Pointers Quickly
...
sow-tools no longer relies on git lfs ls-files --json for planning. It
now parses the checked-out LFS pointer files directly, so split sizing
and content_hash use the real LFS oid and size.
2026-04-14 11:40:38 +02:00
archvillainette
bf7c844f2e
Build in /tmp and immediately discard
2026-04-14 09:49:36 +02:00
archvillainette
b766ff1348
Pipeline Planning
2026-04-14 01:08:38 +02:00
archvillainette
5bd4a58bff
Filter By Hak Name
2026-04-14 00:47:11 +02:00
archvillainette
0c63dfc711
Family Expansions
2026-04-13 23:49:59 +02:00
archvillainette
129602a482
Change Output Locations
2026-04-13 15:05:43 +02:00
archvillainette
a4fa2156ca
Fix Topdata Build
2026-04-13 14:51:40 +02:00
archvillainette
b4c28b667b
Fix Conversion Flag Entry
2026-04-13 14:39:02 +02:00
archvillainette
2b560ee5ea
Default 2da-to-json to suffix
2026-04-13 14:12:24 +02:00
archvillainette
471fbbb55e
Allow optional hak releases
2026-04-13 12:41:14 +02:00
archvillainette
bc708fc6b9
Native Wiki Generation
2026-04-11 12:21:29 +02:00
archvillainette
29ddf8e3c5
(Potentially Breaking Change) Git-Based Hak Chunk Ordering
2026-04-10 22:08:54 +02:00
archvillainette
e05620d285
Documentation update
2026-04-10 20:38:16 +02:00
archvillainette
cecafa9c1f
Script Compiler Pathing
2026-04-10 19:50:17 +02:00
archvillainette
77c373c126
Correct Null Key Suppression
2026-04-10 19:15:35 +02:00
archvillainette
7f8506beed
Conversion Key Inference: Config-Driven
2026-04-10 19:11:08 +02:00
archvillainette
a1a98dd18e
Conversion Key Inference
2026-04-10 19:02:46 +02:00
archvillainette
ae58c4ae71
Template usage
2026-04-10 15:26:27 +02:00
archvillainette
9300033e95
Fix Lockfile Schematics
2026-04-10 12:32:27 +02:00
archvillainette
543945f099
Fix type extensions 2
2026-04-10 08:43:06 +02:00
archvillainette
89e0ecd9e1
Fix type extensions
2026-04-10 08:28:06 +02:00
archvillainette
bbe2376252
Improved Logging
2026-04-10 08:20:38 +02:00
archvillainette
3a0d4eb990
Fix Windows Wrappers and Extensions
2026-04-10 08:13:09 +02:00
archvillainette
febd109041
topdata_test fix
2026-04-09 23:49:53 +02:00
archvillainette
75c90de628
Seperate Module and Topdata Pipeline
2026-04-09 22:12:06 +02:00
archvillainette
9e13bb9bab
Improved Logging
2026-04-09 21:56:53 +02:00
archvillainette
8f0b8a5d66
Parts-Based Manifest Publishing
2026-04-09 21:22:26 +02:00
archvillainette
94ffcc5868
Fix validation steps for image files
2026-04-09 20:44:21 +02:00
archvillainette
68aea4ba00
Update BuildAndPackage
2026-04-09 17:23:00 +02:00
archvillainette
4f8bfc133a
Native Workflow Support
2026-04-09 11:01:39 +02:00
archvillainette
dc93feb176
Topdata Migration ( #2 )
...
Native topdata migration summary
- Replaced the legacy 2dabuilder runtime path with the native topdata builder.
- Native build, validate, compare, and convert flows now cover the canonical topdata pipeline.
- compare-topdata is now a native self-check; legacy reference-builder runtime usage was removed.
- Parts generation follows the native asset-scan contract and uses sow-assets via project asset resolution.
- Generated feat families, class-feat injects, masterfeat/successor expansion, and dataset-derived feat generation were brought to parity and regression-covered.
- Remaining mirrored datasets were migrated into native-owned canonical data while preserving lock IDs.
- normalize-topdata bridge behavior and migration-era ownership markers were removed.
- Documentation was rewritten around the native workflow and active contracts were cleaned up.
- Final hardening pass removed stale validator assumptions and cleaned ignored/generated artifacts for PR readiness.
Reviewed-on: https://gitea.westgate.pw/ShadowsOverWestgate/sow-tools/pulls/2
Co-authored-by: vickydotbat <vickydotbat@tutamail.com >
Co-committed-by: vickydotbat <vickydotbat@tutamail.com >
2026-04-09 07:14:01 +00:00
archvillainette
99f9d29d7a
Expect compiled .ncs
2026-04-04 13:23:08 +02:00
archvillainette
bf87144688
Conservative build-haks
...
In build.go, build-haks now does conservative chunk reuse instead of
wiping all generated HAKs up front. It plans chunks as before, computes
a deterministic per-chunk content_hash, reuses an existing .hak only
when the prior manifest entry and on-disk archive still match, rebuilds
only changed chunks, and deletes only stale generated HAKs that fall out
of the new plan. I added coverage for unchanged reuse and selective
rebuilds in pipeline_test.go, and go test ./... passes in sow-tools.
2026-04-04 11:51:53 +02:00