Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .governance/docs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"schema": "wellmanifest.docs/adoption/v1",
"repository": "autogrammar/testql",
"standard": "wellmanifest/docs",
"source_revision": "aa92136b4e94f48355c39fb206286aba024c6aa4",
"policy_sha256": "af5fde2d52e1c292e569cd47a4068f0e42181a8f8fb9fc21737a569bee9a206f"
}
6 changes: 6 additions & 0 deletions .governance/local-ci-publication.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"schema": "new-project.local-ci-publication/v1",
"scope": {
"mode": "all"
}
}
57 changes: 57 additions & 0 deletions .governance/standard-requirements.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"schema": "wellman.standard-requirements/v1",
"profiles": [
"baseline",
"deployment"
],
"requirements": [
{
"id": "wellmanifest/agent",
"minimumLevel": "S4"
},
{
"id": "wellmanifest/authority-lifecycle",
"minimumLevel": "S5"
},
{
"id": "wellmanifest/deployment",
"minimumLevel": "S5"
},
{
"id": "wellmanifest/docs",
"minimumLevel": "S3"
},
{
"id": "wellmanifest/git-lifecycle",
"minimumLevel": "S4"
},
{
"id": "wellmanifest/logs",
"minimumLevel": "S5"
},
{
"id": "wellmanifest/merge",
"minimumLevel": "S5"
},
{
"id": "wellmanifest/new-project",
"minimumLevel": "S4"
},
{
"id": "wellmanifest/poa",
"minimumLevel": "S5"
},
{
"id": "wellmanifest/ticket-lifecycle",
"minimumLevel": "S3"
},
{
"id": "wellmanifest/validation-attestation",
"minimumLevel": "S4"
},
{
"id": "wellmanifest/worktrees",
"minimumLevel": "S3"
}
]
}
1 change: 1 addition & 0 deletions project/TICKETS.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,6 @@ This file indexes governance tickets without taking ownership of
| **ticket-013** | [`README.md`](./ticket-013/README.md) | - | - | - | - | - |
| **ticket-014** | [`README.md`](./ticket-014/README.md) | - | - | - | - | - |
| **ticket-015** | [`README.md`](./ticket-015/README.md) | - | - | - | - | - |
| **ticket-016** | [`README.md`](./ticket-016/README.md) | - | - | [`ai-codex.md`](./ticket-016/ai-codex.md) | - | - |
| **ticket-017** | [`README.md`](./ticket-017/README.md) | - | - | [`ai-codex.md`](./ticket-017/ai-codex.md) | - | - |
<!-- AUTO:TICKET_INDEX:END -->
29 changes: 29 additions & 0 deletions project/ticket-016/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Ticket 016: Adopt pinned Wellman validation

- **ID**: ticket-016
- **Owner**: agent:codex
- **Status**: IN_PROGRESS
- **Workflow state**: PUBLICATION
- **Created**: 2026-10-01

## Goal and scope

Register baseline, Agent and Docs requirements, adopt repository-bound Docs
metadata, and validate these contracts with pinned Wellman in local checks locally. A dependent infrastructure-owned workflow is still required.
Preserve the existing new-project pin and all product code.

## Acceptance criteria

- [x] AC-01: Wellman registration is idempotent; Docs metadata validates.
- [x] AC-02: The existing managed governance gate accepts the scoped changes.
- [x] AC-03: Missing or invalid requirements and Docs metadata fail validation.
- [ ] AC-04: Publish the exact tested head through the independent controller.

## Authorization

SESSION_EXECUTION_AUTHORIZATION: the owner requested installation, completion,
testing and merging of Wellmanifest adoption across Autogrammar repositories.
This authorizes implementation and the declared protected delivery route;
it is not trusted merge approval.

- [ ] AC-05: The infrastructure owner publishes the dependent Wellman CI workflow.
2 changes: 2 additions & 0 deletions project/ticket-016/ai-codex.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SESSION_EXECUTION_AUTHORIZATION: complete, test and publish adoption.
Governance owns metadata and the local checker. The separate infrastructure workstream owns .github/workflows/wellman.yml; do not transfer its scope.
92 changes: 92 additions & 0 deletions project/ticket-016/intent.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"schema": "new-project.intent/v3",
"ticket": "ticket-016",
"summary": "Adopt pinned Wellman requirements and Docs validation",
"workstream": "governance",
"classification": {
"kind": "SERVICE",
"priority": "P1",
"origin": "requested"
},
"allowedPaths": [
"project/ticket-016/**",
"TODO.md",
"project/TICKETS.md",
".governance/docs.json",
".governance/local-ci-publication.json",
".governance/standard-requirements.json",
"scripts/check-wellman.py"
],
"forbiddenPaths": [
"project/ticket-*/user-*.md"
],
"stacks": [],
"dependsOn": [],
"conflictsWith": [],
"integrationTicket": null,
"delivery": {
"acceptedBaseSha": "e6e8045774d72d4c4ac0fa028a825f76572cf3d5",
"targetBranch": "main",
"outcome": "Register published Wellman requirements, adopt repository-bound Docs metadata, and provide a local validation command; infrastructure owns the dependent CI workflow.",
"nonGoals": [
"No product source changes",
"No bypass of protected publication",
"No claim of unimplemented S3-S5 conformance"
],
"complexity": "M",
"estimatedMinutes": 45,
"budgets": {
"maxImplementationFiles": 9,
"maxAffectedComponents": 3,
"maxPublicInterfaceChanges": 0,
"maxRuntimeDependencies": 1
},
"architecture": {
"status": "accepted",
"decision": "Compose the published Wellman runtime with the existing pinned new-project gate.",
"components": [
{
"name": "governance",
"paths": [
".governance/**",
"scripts/check-wellman.py"
]
}
],
"responsibilityChanges": false,
"interfaceChanges": [],
"dataChanges": [
{
"kind": "component-local-state",
"component": "governance",
"description": "Repository-bound requirements and Docs metadata; no application data migration."
}
],
"ui": {
"impact": "none",
"states": [],
"evidence": []
},
"rollback": "Revert the adoption commit; preserve existing immutable governance pin."
},
"runtimeDependencies": [
"wellman@0.20.37"
],
"validation": [
{
"criterion": "AC-01",
"commands": [
"python scripts/check-wellman.py"
],
"evidence": "No Wellman errors; registration is idempotent and Docs metadata validates."
},
{
"criterion": "AC-02",
"commands": [
"bash project/governance-check.sh --actor agent"
],
"evidence": "Existing managed gate accepts the scoped adoption."
}
]
}
}
42 changes: 42 additions & 0 deletions scripts/check-wellman.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/usr/bin/env python3
"""Validate adopted metadata; the managed gate owns full repository governance."""
import argparse
import json
import sys
from pathlib import Path

from wellman import __version__
from wellman.adoption import register, safe_path
from wellman.docs_adoption import validate_adoption
from wellman.runner import ConformanceRunner


def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--root", type=Path, default=Path(__file__).resolve().parents[1])
try:
root = safe_path(parser.parse_args().root)
except (OSError, ValueError) as error:
print(json.dumps({"valid": False, "findings": [{"code": "WELLMAN-ROOT", "message": str(error)}]}))
return 1
findings = []
if __version__ != "0.20.37":
findings.append({"code": "WELLMAN-VERSION", "message": "Install the pinned Wellman 0.20.37 runtime."})
try:
registration = register(root, standards=("wellmanifest/docs", "wellmanifest/agent"), dry_run=True)
if registration["changed"]:
findings.append({"code": "WELLMAN-REQUIREMENTS", "message": "Required standards or publication metadata are missing or stale."})
problem = registration["localCiPublication"]["problem"]
if problem:
findings.append({"code": "GOV-LOCAL-CI-001", "message": problem})
findings.extend(validate_adoption(root, required=True))
findings.extend(f.to_dict() for f in ConformanceRunner(root).run_all() if f.severity == "ERROR")
except (OSError, ValueError, UnicodeError) as error:
findings.append({"code": "WELLMAN-METADATA", "message": str(error)})
print(json.dumps({"valid": not findings, "root": str(root), "findings": findings,
"scope": "adopted metadata and implemented Wellman checks; not S3-S5 certification"}, indent=2))
return 1 if findings else 0


if __name__ == "__main__":
sys.exit(main())
Loading