diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ee8da6..17732c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,16 @@ keywords: # GUIHO XDocs Changelog +## 0.12.0 - 2026-09-12 + +- **Breaking:** Require explicit `documentation.directories` grants for descriptor maintenance and separate `documentation.frontmatter` grants for ordinary Markdown metadata. Both default to empty; `ai.mode: auto` does not grant permission, and legacy frontmatter denials still win. +- Keep directory context in one named descriptor such as `technologies/technologies.xdocs.md`. Diagnose duplicate, bare, and legacy descriptor names without creating extra overview documents or repairing user files. +- Display every discovered descriptor through the full filesystem tree, including deep, orphaned, duplicate, and invalid entries, with paths, context, and diagnostics. Include the root `XDOCS.md` index; validate semantic relationships separately in doctor. +- **Breaking:** Guard explicit report destinations with validation and atomic replacement. Reject descriptor-shaped destinations, symlinks, excluded paths, malformed frontmatter, and unauthorized companion metadata before changing existing bytes. Report commands otherwise write to stdout. +- Add read-only `meta --existing-frontmatter` and `doctor --existing-frontmatter` audits, including ordinary documents in directories without descriptors; absent headers remain valid without explicit metadata grants. +- Reject invalid YAML scalar types, authorization aliases and merges, ambiguous headers, and whitespace-only required companion fields consistently across metadata, doctor, and report writes. +- Align embedded skills, prompts, managed instructions, and documentation with explicit authorization and complete discovery. + ## 0.11.0 - 2026-08-23 - Replace the plain `Hello Windows - xdocs v` greeting with a beautiful borderless hello window that matches the RunX and Genius siblings while using the five-tone earth palette (`#7F5539`, `#A68A64`, `#EDE0D4`, `#656D4A`, `#414833`). diff --git a/DOCS.md b/DOCS.md index 9ac4c79..41457b5 100644 --- a/DOCS.md +++ b/DOCS.md @@ -31,6 +31,21 @@ The active implementation is a native Go CLI. The historical TypeScript tree is retained as migration reference only and is not used by the executable, installers, CI, versioning, or releases. +## Upgrading to 0.12.0 + +This minor release contains breaking authorization and report-output changes. +Existing configurations remain loadable, but omitted documentation grants now +mean no descriptor maintenance or companion metadata requirement. Explicitly +list permitted subtrees in `documentation.directories`; grant ordinary Markdown +headers separately with `documentation.frontmatter`. Existing legacy denials +still take precedence. Do not add grants merely to make validation pass. + +Keep context in one named descriptor per directory. `tree` now uses filesystem +containment and includes all discovered descriptors; use `doctor` for semantic +parent/child validation. Report output cannot target descriptor filenames and +must pass destination and content validation. Use `meta --existing-frontmatter` +or `doctor --existing-frontmatter` to audit historical headers without repairs. + ## Runtime architecture - Go module: `github.com/CGuiho/xdocs` @@ -369,9 +384,9 @@ go mod tidy go test ./... go vet ./... go run ./devops/build-binaries.go \ - --version 0.11.0 \ + --version 0.12.0 \ --commit "$(git rev-parse HEAD)" \ - --build-date "2026-08-23T00:00:00Z" + --build-date "2026-09-12T00:00:00Z" ``` Cross-compilation proves buildability, not foreign runtime behavior. Native CI diff --git a/main_test.go b/main_test.go index 31e7a3c..2abf022 100644 --- a/main_test.go +++ b/main_test.go @@ -26,7 +26,7 @@ func TestEmbeddedSkillMatchesCurrentReleaseVersion(t *testing.T) { if err := yaml.Unmarshal([]byte(strings.TrimPrefix(parts[0], "---\n")), &metadata); err != nil { t.Fatal(err) } - if metadata.Version != "0.11.0" || metadata.Metadata.Version != "0.11.0" { + if metadata.Version != "0.12.0" || metadata.Metadata.Version != "0.12.0" { t.Fatalf("embedded skill version mismatch: %#v", metadata) } } diff --git a/skills/guiho-s-xdocs/SKILL.md b/skills/guiho-s-xdocs/SKILL.md index 9c7b52d..8e97330 100644 --- a/skills/guiho-s-xdocs/SKILL.md +++ b/skills/guiho-s-xdocs/SKILL.md @@ -12,9 +12,9 @@ keywords: - guiho-s-xdocs - xdocs metadata - documentation workflow -version: "0.11.0" +version: "0.12.0" metadata: - version: "0.11.0" + version: "0.12.0" --- #### © 2026 [GUIHO](https://guiho.co) as represented by [Cristóvão GUIHO](https://guiho.co/cguiho) All Rights Reserved.