Commit Graph
82 Commits
Author SHA1 Message Date
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
archvillainette cd96a3ceee Merge pull request 'Force Check Duplicates' (#1) from pipeline/validator-force-check-dupes into main
Reviewed-on: https://gitea.westgate.pw/ShadowsOverWestgate/sow-tools/pulls/1
2026-04-04 07:34:21 +00:00
archvillainette 9313769649 Force Check Duplicates 2026-04-04 09:34:36 +02:00
archvillainette 38ee1e21e0 Compile referenced NWScript during module builds 2026-04-02 22:04:58 +02:00
archvillainette 2f3bdc73d2 Ship Windows toolkit asset as exe 2026-04-02 21:47:28 +02:00
archvillainette 6777e2baef Expand topdata handoff notes 2026-04-02 21:42:57 +02:00
archvillainette d67b6e3f12 Add topdata bridge commands and handoff 2026-04-02 21:40:59 +02:00
archvillainette 7c8d58586a Windows Wrappers 2026-04-02 21:00:40 +02:00
archvillainette 7c7eb4dcc0 User-Friendliness 2026-04-02 20:41:48 +02:00
archvillainette af4d23ea48 Remove validation errors for missing .nss files 2026-04-02 20:15:01 +02:00
archvillainette 77b21081d7 Tool: Polish Pass 1
In sow-tools, extract now behaves like a real sync by default: it
overwrites changed extracted files, removes stale extracted files that
no longer exist in the built archives, and normalizes extracted resource
filenames to lowercase. I also made validation warn on uppercase
resource filenames so mixed-case names like I_ELVENCHAIN are surfaced
instead of quietly lingering. The extract command output now includes
overwritten and removed counts too.
2026-04-02 20:04:41 +02:00
archvillainette 97465e451e Tool rename 2026-04-02 19:03:56 +02:00
archvillainette cd16e4c24c Self-sufficient tool 2026-04-02 18:55:03 +02:00
archvillainette 65b9a3dff8 Fix VPS freeze 2026-04-02 18:28:37 +02:00
archvillainette b7f188779a Initial sow-tools import 2026-04-02 17:19:23 +02:00