Skip to content

Commit 7fe8d74

Browse files
authored
Merge pull request #90 from nold-ai/dev
release: promote dev to main
2 parents f972b11 + b4466e3 commit 7fe8d74

14 files changed

Lines changed: 422 additions & 66 deletions

File tree

docs/CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
modules.specfact.io

docs/_config.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
title: SpecFact CLI Modules Documentation
2-
description: Official nold-ai bundle documentation for specfact-cli-modules.
3-
baseurl: "/specfact-cli-modules"
4-
url: "https://nold-ai.github.io"
1+
title: Official SpecFact Modules Docs
2+
description: Canonical documentation for official nold-ai bundles and module-specific deep workflows.
3+
baseurl: ""
4+
url: "https://modules.specfact.io"
5+
docs_home_url: "https://docs.specfact.io"
6+
core_cli_docs_url: "https://docs.specfact.io"
7+
modules_docs_url: "https://modules.specfact.io"
8+
github_pages_preview_label: "GitHub Pages preview origin"
59

610
# Build settings
711
markdown: kramdown
@@ -77,4 +81,4 @@ sass:
7781
footer:
7882
copyright: "© 2026 NOLD AI"
7983
trademark: >
80-
Official bundle documentation lives in this repository.
84+
Official bundle and module-specific deep guidance is canonically owned by specfact-cli-modules.

docs/_layouts/default.html

Lines changed: 27 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,9 @@
111111
</span>
112112
</label>
113113
<div class="trigger">
114-
<a class="page-link" href="{{ '/' | relative_url }}">Home</a>
115-
<a class="page-link" href="{{ '/getting-started/installation/' | relative_url }}">Getting Started</a>
116-
<a class="page-link" href="{{ '/guides/command-chains/' | relative_url }}">Guides</a>
117-
<a class="page-link" href="{{ '/reference/' | relative_url }}">Reference</a>
114+
<a class="page-link" href="{{ site.docs_home_url }}">Docs Home</a>
115+
<a class="page-link" href="{{ site.core_cli_docs_url }}">Core CLI</a>
116+
<a class="page-link" href="{{ site.modules_docs_url }}">Modules</a>
118117
</div>
119118
</nav>
120119
</div>
@@ -125,7 +124,7 @@
125124
<aside class="docs-sidebar" aria-label="Documentation navigation">
126125
<div class="docs-sidebar-inner">
127126
<h2 class="docs-sidebar-title">
128-
<a href="{{ '/' | relative_url }}">SpecFact CLI</a>
127+
<a href="{{ '/' | relative_url }}">Official Modules Docs</a>
129128
</h2>
130129

131130
<nav class="docs-nav">
@@ -140,41 +139,39 @@ <h2 class="docs-sidebar-title">
140139
<li><a href="{{ '/getting-started/tutorial-daily-standup-sprint-review/' | relative_url }}">Tutorial: Daily Standup and Sprint Review</a></li>
141140
</ul>
142141

143-
<p class="docs-nav-section">Guides</p>
142+
<p class="docs-nav-section">Official Modules</p>
144143
<ul>
145-
<li><a href="{{ '/guides/command-chains/' | relative_url }}">Command Chains</a></li>
146-
<li><a href="{{ '/guides/agile-scrum-workflows/' | relative_url }}">Agile/Scrum Workflows</a></li>
147-
<li><a href="{{ '/guides/policy-engine-commands/' | relative_url }}">Policy Engine Commands</a></li>
148-
<li><a href="{{ '/guides/creating-custom-bridges/' | relative_url }}">Creating Custom Bridges</a></li>
149-
<li><a href="{{ '/guides/module-development/' | relative_url }}">Module Development</a></li>
150-
<li><a href="{{ '/guides/adapter-development/' | relative_url }}">Adapter Development</a></li>
151-
<li><a href="{{ '/guides/extending-projectbundle/' | relative_url }}">Extending ProjectBundle</a></li>
152144
<li><a href="{{ '/guides/installing-modules/' | relative_url }}">Installing Modules</a></li>
153145
<li><a href="{{ '/guides/module-marketplace/' | relative_url }}">Module Marketplace</a></li>
146+
<li><a href="{{ '/guides/module-development/' | relative_url }}">Module Development</a></li>
147+
<li><a href="{{ '/guides/adapter-development/' | relative_url }}">Adapter Development</a></li>
154148
<li><a href="{{ '/guides/marketplace/' | relative_url }}">Marketplace Bundles</a></li>
155-
<li><a href="{{ '/guides/module-signing-and-key-rotation/' | relative_url }}">Module Signing and Key Rotation</a></li>
156149
<li><a href="{{ '/guides/using-module-security-and-extensions/' | relative_url }}">Using Module Security and Extensions</a></li>
157-
<li><a href="{{ '/guides/brownfield-engineer/' | relative_url }}">Working With Existing Code</a></li>
158-
<li><a href="{{ '/guides/brownfield-journey/' | relative_url }}">Existing Code Journey</a></li>
159-
<li><a href="{{ '/guides/sidecar-validation/' | relative_url }}">Sidecar Validation</a></li>
160-
<li><a href="{{ '/guides/ux-features/' | relative_url }}">UX Features</a></li>
161-
<li><a href="{{ '/guides/use-cases/' | relative_url }}">Use Cases</a></li>
162-
<li><a href="{{ '/guides/ide-integration/' | relative_url }}">IDE Integration</a></li>
163-
<li><a href="{{ '/guides/copilot-mode/' | relative_url }}">CoPilot Mode</a></li>
164-
<li><a href="{{ '/guides/troubleshooting/' | relative_url }}">Troubleshooting</a></li>
165-
<li><a href="{{ '/guides/competitive-analysis/' | relative_url }}">Competitive Analysis</a></li>
150+
<li><a href="{{ '/guides/custom-registries/' | relative_url }}">Custom Registries</a></li>
151+
<li><a href="{{ '/guides/creating-custom-bridges/' | relative_url }}">Creating Custom Bridges</a></li>
152+
<li><a href="{{ '/guides/extending-projectbundle/' | relative_url }}">Extending ProjectBundle</a></li>
166153
</ul>
167154

168-
<p class="docs-nav-section">DevOps & Backlog Sync</p>
155+
<p class="docs-nav-section">Bundle Workflows</p>
169156
<ul>
170-
<li><a href="{{ '/guides/devops-adapter-integration/' | relative_url }}">DevOps Integration Guide</a></li>
171157
<li><a href="{{ '/guides/backlog-refinement/' | relative_url }}">Backlog Refinement</a></li>
172-
<li><a href="{{ '/getting-started/tutorial-backlog-quickstart-demo/' | relative_url }}">Backlog Quickstart Demo</a></li>
173-
<li><a href="{{ '/reference/authentication/' | relative_url }}">Authentication</a></li>
158+
<li><a href="{{ '/guides/backlog-delta-commands/' | relative_url }}">Backlog Delta Commands</a></li>
159+
<li><a href="{{ '/guides/backlog-dependency-analysis/' | relative_url }}">Backlog Dependency Analysis</a></li>
160+
<li><a href="{{ '/guides/project-devops-flow/' | relative_url }}">Project DevOps Flow</a></li>
161+
<li><a href="{{ '/guides/policy-engine-commands/' | relative_url }}">Policy Engine Commands</a></li>
162+
<li><a href="{{ '/guides/devops-adapter-integration/' | relative_url }}">DevOps Adapter Integration</a></li>
163+
<li><a href="{{ '/adapters/backlog-adapter-patterns/' | relative_url }}">Backlog Adapter Patterns</a></li>
174164
<li><a href="{{ '/adapters/github/' | relative_url }}">GitHub Adapter</a></li>
175165
<li><a href="{{ '/adapters/azuredevops/' | relative_url }}">Azure DevOps Adapter</a></li>
176-
<li><a href="{{ '/adapters/backlog-adapter-patterns/' | relative_url }}">Backlog Adapter Patterns</a></li>
177-
<li><a href="{{ '/guides/template-customization/' | relative_url }}">Template Customization</a></li>
166+
<li><a href="{{ '/guides/sidecar-validation/' | relative_url }}">Sidecar Validation</a></li>
167+
</ul>
168+
169+
<p class="docs-nav-section">Publishing &amp; Signing</p>
170+
<ul>
171+
<li><a href="{{ '/guides/publishing-modules/' | relative_url }}">Publishing Modules</a></li>
172+
<li><a href="{{ '/guides/module-signing-and-key-rotation/' | relative_url }}">Module Signing and Key Rotation</a></li>
173+
<li><a href="{{ '/reference/module-security/' | relative_url }}">Module Security</a></li>
174+
<li><a href="{{ '/reference/bridge-registry/' | relative_url }}">Bridge Registry</a></li>
178175
</ul>
179176

180177
<p class="docs-nav-section">Reference</p>
@@ -184,23 +181,14 @@ <h2 class="docs-sidebar-title">
184181
<li><a href="{{ '/reference/thorough-codebase-validation/' | relative_url }}">Thorough Codebase Validation</a></li>
185182
<li><a href="{{ '/reference/authentication/' | relative_url }}">Authentication</a></li>
186183
<li><a href="{{ '/reference/architecture/' | relative_url }}">Architecture</a></li>
187-
<li><a href="{{ '/architecture/implementation-status/' | relative_url }}">Architecture Implementation Status</a></li>
188-
<li><a href="{{ '/architecture/adr/' | relative_url }}">Architecture ADRs</a></li>
189184
<li><a href="{{ '/reference/modes/' | relative_url }}">Operational Modes</a></li>
190185
<li><a href="{{ '/reference/directory-structure/' | relative_url }}">Directory Structure</a></li>
191186
<li><a href="{{ '/reference/projectbundle-schema/' | relative_url }}">ProjectBundle Schema</a></li>
192187
<li><a href="{{ '/reference/module-contracts/' | relative_url }}">Module Contracts</a></li>
193-
<li><a href="{{ '/reference/module-security/' | relative_url }}">Module Security</a></li>
194188
<li><a href="{{ '/reference/module-categories/' | relative_url }}">Module Categories</a></li>
195-
<li><a href="{{ '/reference/bridge-registry/' | relative_url }}">Bridge Registry</a></li>
189+
<li><a href="{{ '/reference/dependency-resolution/' | relative_url }}">Dependency Resolution</a></li>
196190
<li><a href="{{ '/guides/integrations-overview/' | relative_url }}">Integrations Overview</a></li>
197191
</ul>
198-
199-
<p class="docs-nav-section">Examples</p>
200-
<ul>
201-
<li><a href="{{ '/examples/' | relative_url }}">All Examples</a></li>
202-
<li><a href="{{ '/examples/quick-examples/' | relative_url }}">Quick Examples</a></li>
203-
</ul>
204192
</nav>
205193
</div>
206194
</aside>

docs/guides/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Guides
22

3-
Practical guides for using SpecFact CLI effectively.
3+
Practical module-owned guides for official bundles, adapters, publishing, and deep workflow documentation.
44

55
## Available Guides
66

docs/index.md

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,49 @@
11
---
22
layout: default
3-
title: SpecFact CLI Modules Docs
3+
title: Official SpecFact Modules Docs
44
nav_order: 1
55
permalink: /
66
---
77

8-
# SpecFact CLI Modules Documentation
8+
# Official SpecFact Modules Docs
99

10-
This site is the canonical documentation home for official nold-ai module bundles hosted in `specfact-cli-modules`.
10+
This site is the canonical published home for official bundle and module-specific deep documentation.
1111

12-
## Bundle guides
12+
specfact-cli-modules owns the official bundle and module-specific deep guidance, while the core CLI platform docs remain separately owned by the core docs site.
1313

14-
- [Marketplace](guides/marketplace.md)
15-
- [Import Features](guides/import-features.md)
16-
- [Backlog Refinement](guides/backlog-refinement.md)
17-
- [Backlog Dependency Analysis](guides/backlog-dependency-analysis.md)
18-
- [Backlog Delta Commands](guides/backlog-delta-commands.md)
19-
- [Project DevOps Flow](guides/project-devops-flow.md)
20-
- [Policy Engine Commands](guides/policy-engine-commands.md)
21-
- [Sidecar Validation](guides/sidecar-validation.md)
14+
The intended public docs topology is:
2215

23-
## Reference
16+
- `Docs Home` at `https://docs.specfact.io`
17+
- `Core CLI` at `https://docs.specfact.io`
18+
- `Modules` at `https://modules.specfact.io`
2419

25-
- [Command Reference](reference/commands.md)
26-
- [Module Categories](reference/module-categories.md)
27-
- [Module Contracts](reference/module-contracts.md)
20+
Until Cloudflare routing is enabled for the modules domain, GitHub Pages should be treated as a preview origin rather than the long-term canonical public address.
2821

29-
## Docs ownership
22+
## Official module guides
3023

31-
- Bundle/module docs are maintained in this repository.
32-
- Core CLI platform docs remain in `nold-ai/specfact-cli`.
33-
- Published URL target: `https://nold-ai.github.io/specfact-cli-modules/`.
24+
- [Marketplace bundles](guides/marketplace.md)
25+
- [Installing modules](guides/installing-modules.md)
26+
- [Module marketplace](guides/module-marketplace.md)
27+
- [Module development](guides/module-development.md)
28+
- [Publishing modules](guides/publishing-modules.md)
29+
- [Module signing and key rotation](guides/module-signing-and-key-rotation.md)
30+
- [Adapter development](guides/adapter-development.md)
31+
- [Custom registries](guides/custom-registries.md)
32+
33+
## Bundle workflows
34+
35+
- [Import features](guides/import-features.md)
36+
- [Backlog refinement](guides/backlog-refinement.md)
37+
- [Backlog dependency analysis](guides/backlog-dependency-analysis.md)
38+
- [Backlog delta commands](guides/backlog-delta-commands.md)
39+
- [Project DevOps flow](guides/project-devops-flow.md)
40+
- [Policy engine commands](guides/policy-engine-commands.md)
41+
- [Sidecar validation](guides/sidecar-validation.md)
42+
43+
## Module reference
44+
45+
- [Command reference](reference/commands.md)
46+
- [Module categories](reference/module-categories.md)
47+
- [Module contracts](reference/module-contracts.md)
48+
- [Module security](reference/module-security.md)
49+
- [Bridge registry](reference/bridge-registry.md)

docs/reference/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ permalink: /reference/
66

77
# Reference Documentation
88

9-
Complete technical reference for SpecFact CLI.
9+
Complete technical reference for the official modules site and bundle-owned workflow surface area.
1010

1111
## Available References
1212

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
schema: spec-driven
2+
created: 2026-03-17
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Change Validation Report: docs-01-modules-docs-canonical-site
2+
3+
**Validation Date**: 2026-03-17
4+
**Change Proposal**: [proposal.md](./proposal.md)
5+
**Validation Method**: Dry-run documentation dependency and publication-contract analysis
6+
7+
## Executive Summary
8+
9+
- Breaking Changes: 0 detected at runtime
10+
- Dependent Files: `README.md`, `docs/_config.yml`, `docs/index.md`, `docs/_layouts/default.html`, and bundle-focused navigation pages
11+
- Impact Level: Medium (public docs identity and cross-site navigation change)
12+
- Validation Result: Pass
13+
- User Decision: Proceed with dedicated modules docs publication contract
14+
15+
## Breaking Changes Detected
16+
17+
None at runtime. This is documentation-site and publication-contract work only.
18+
19+
The main risk is public-link churn if the site starts claiming a first-class public domain before DNS/routing is available. That is mitigated by keeping wording domain-ready rather than claiming the cutover is already live until Cloudflare configuration exists.
20+
21+
## Dependencies Affected
22+
23+
### Critical Alignment Dependencies
24+
25+
- `README.md` still treats the GitHub Pages project URL as the docs target.
26+
- `docs/_config.yml` still targets `https://nold-ai.github.io` with `baseurl: "/specfact-cli-modules"`.
27+
- `docs/index.md` already claims canonical ownership for official module docs, but the surrounding site identity and navigation do not yet match that claim.
28+
- `docs/_layouts/default.html` still uses the same top navigation structure as the core docs set and will need explicit cross-site labels (`Docs Home`, `Core CLI`, `Modules`).
29+
30+
### Cross-Repository Dependencies
31+
32+
- `specfact-cli` must update its docs portal and ownership language so module-specific deep pages in core become handoff/overview content rather than competing canonicals.
33+
- Cloudflare/public-domain setup is required for final publication on `modules.docs.specfact.io`, but content and navigation alignment can land before that cutover.
34+
35+
## Impact Assessment
36+
37+
- **Code Impact**: None expected
38+
- **Docs Impact**: Medium-to-high; site config, landing copy, and shared navigation are all in scope
39+
- **Test Impact**: Lightweight docs assertions are appropriate for site identity, top-nav labels, and canonical ownership wording
40+
- **Release Impact**: Low-to-medium; the main risk is publishing mixed signals about canonical URLs during the transition window
41+
42+
## Format Validation
43+
44+
- **proposal.md Format**: Pass
45+
- **tasks.md Format**: Pass
46+
- **specs Format**: Pass
47+
- **Config.yaml Compliance**: Pass
48+
49+
## OpenSpec Validation
50+
51+
- **Status**: Pass
52+
- **Command**: `openspec validate docs-01-modules-docs-canonical-site --strict`
53+
- **Issues Found/Fixed**: 0
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# TDD Evidence
2+
3+
## Discovery
4+
5+
- Inventory of duplicated docs paths found `86` files shared between `specfact-cli-modules/docs` and `specfact-cli/docs`.
6+
- The canonical module-owned destinations for this change were documented in `design.md`: landing/config/layout plus module-specific guides, adapter workflows, publishing/signing, and module reference pages.
7+
- Public-domain cutover assumptions were documented in `design.md`: `docs.specfact.io` remains the entry point and core docs origin, and `modules.specfact.io` becomes the canonical modules origin once GitHub Pages and Cloudflare routing are enabled.
8+
9+
## Red Phase
10+
11+
Command:
12+
13+
```bash
14+
hatch run pytest tests/unit/test_modules_docs_site_contract.py -q
15+
```
16+
17+
Result:
18+
19+
- `4` tests collected
20+
- `4` failed
21+
- Failures covered the expected gaps:
22+
- `_config.yml` still targeted the GitHub Pages project URL instead of the modules public domain contract
23+
- `docs/index.md` did not yet state canonical ownership for module-specific deep guidance
24+
- `docs/_layouts/default.html` did not expose `Docs Home`, `Core CLI`, and `Modules`
25+
- the sidebar remained broad/core-oriented instead of module-focused
26+
27+
## Green Phase
28+
29+
Command:
30+
31+
```bash
32+
hatch run pytest tests/unit/test_modules_docs_site_contract.py -q
33+
```
34+
35+
Result:
36+
37+
- `4` tests collected
38+
- `4` passed
39+
40+
## Validation
41+
42+
Command:
43+
44+
```bash
45+
openspec validate docs-01-modules-docs-canonical-site --strict
46+
```
47+
48+
Result:
49+
50+
- Change validated successfully in strict mode
51+
52+
Command:
53+
54+
```bash
55+
hatch run test -- tests/unit/test_modules_docs_site_contract.py -q
56+
```
57+
58+
Result:
59+
60+
- The repo `test` script ignored the narrow file selection and executed the broader test suite
61+
- Full result: `389 passed in 45.42s`

0 commit comments

Comments
 (0)