📚 Package Specification Audit Report
Date: 2026-06-21
Total Packages: 30
Packages with Specs: 29
Coverage: 96.7% (29/30)
Coverage Summary
| Status |
Package |
Last Spec Update |
Last Source Update |
| ❌ |
intent |
— |
2026-06-21 |
| ✅ |
actionpins |
2026-06-21 |
2026-06-21 |
| ✅ |
agentdrain |
2026-06-21 |
2026-06-21 |
| ⚠️ |
cli |
2026-06-21 |
2026-06-21 |
| ✅ |
console |
2026-06-21 |
2026-06-21 |
| ✅ |
constants |
2026-06-21 |
2026-06-21 |
| ✅ |
envutil |
2026-06-21 |
2026-06-21 |
| ✅ |
errorutil |
2026-06-21 |
2026-06-21 |
| ✅ |
fileutil |
2026-06-21 |
2026-06-21 |
| ✅ |
github |
2026-06-21 |
2026-06-21 |
| ✅ |
gitutil |
2026-06-21 |
2026-06-21 |
| ✅ |
importinpututil |
2026-06-21 |
2026-06-21 |
| ✅ |
jsonutil |
2026-06-21 |
2026-06-21 |
| ✅ |
linters |
2026-06-21 |
2026-06-21 |
| ✅ |
logger |
2026-06-21 |
2026-06-21 |
| ✅ |
parser |
2026-06-21 |
2026-06-21 |
| ✅ |
repoutil |
2026-06-21 |
2026-06-21 |
| ✅ |
semverutil |
2026-06-21 |
2026-06-21 |
| ⚠️ |
setutil |
2026-06-21 |
2026-06-21 |
| ✅ |
sliceutil |
2026-06-21 |
2026-06-21 |
| ✅ |
stats |
2026-06-21 |
2026-06-21 |
| ✅ |
stringutil |
2026-06-21 |
2026-06-21 |
| ✅ |
styles |
2026-06-21 |
2026-06-21 |
| ✅ |
syncutil |
2026-06-21 |
2026-06-21 |
| ✅ |
testutil |
2026-06-21 |
2026-06-21 |
| ✅ |
timeutil |
2026-06-21 |
2026-06-21 |
| ✅ |
tty |
2026-06-21 |
2026-06-21 |
| ✅ |
types |
2026-06-21 |
2026-06-21 |
| ✅ |
typeutil |
2026-06-21 |
2026-06-21 |
| ⚠️ |
workflow |
2026-06-21 |
2026-06-21 |
🚨 Missing Specifications
The following package has no README.md:
| Package |
Source Files |
Exported Symbols |
Priority |
intent |
1 (resolver.go) |
5 types, 10 constants, 2 public methods |
High |
The intent package is actively imported by pkg/cli (in outcome_eval.go) and provides core intent-attribution types (AttributionStatus, AttributionSource, IntentRecord, RootReference, PullRequestData) plus a Resolver with ResolvePullRequest and ResolveIssue methods.
Recommendation: Run the spec-extractor workflow to generate a README.md for pkg/intent.
⚠️ Stale Specifications
No staleness by commit date — all READMEs and source files share the same commit date (2026-06-21). However, spec-implementation gaps were identified in the workflow package (see Cross-Package Inconsistencies below).
🔄 Cross-Package Inconsistencies
View inconsistencies (3 issues)
Issue 1: pkg/cli README missing dependencies
pkg/cli/README.md lists 21 internal dependencies in its ## Dependencies section but omits two packages that are imported by non-test production code:
github.com/github/gh-aw/pkg/intent — imported by pkg/cli/outcome_eval.go for AttributionStatus, Resolver, etc.
github.com/github/gh-aw/pkg/github — imported by pkg/cli/audit_report.go, outcome_eval.go, outcomes_command.go, and outcomes_history.go
Recommendation: Add both missing entries to the ## Dependencies → Internal list in pkg/cli/README.md.
Issue 2: pkg/workflow README missing exported functions
The workflow package has 306 exported functions; the README documents 306 table rows, but a cross-check reveals at least 22 exported functions are not listed, including:
| Category |
Undocumented Functions |
| Generator functions |
GenerateAntigravityInstallerSteps, GenerateCopilotInstallerSteps, GenerateNodeJsSetupStep, GenerateNpmInstallSteps, GenerateNpmInstallStepsWithScope, GenerateRuntimeSetupSteps, GenerateLockMetadata, GenerateMultiSecretValidationStep, GenerateAutoUpdateWorkflow, GenerateMaintenanceWorkflow, GenerateCentralSlashCommandWorkflow, GenerateHeredocDelimiterFromContent |
| Permissions helpers |
GetAllPermissionScopes, GetAllGitHubAppOnlyScopes, ValidatePermissionScopeNames |
| Detection / filter helpers |
DetectRuntimeRequirements, DetectKnownCredentialLeakingActions, DetectKnownCredentialLeakingActionsFromWorkflowData, FilterLabelCommandEvents, FilterCommentEvents, FilterEnvForSecrets, IsConditionalDetection |
Recommendation: Re-run spec-extractor for pkg/workflow to regenerate the README and capture these missing exports.
Issue 3: pkg/setutil README missing spec-extractor footer
All 29 package READMEs include the standard attribution footer:
*This specification is automatically maintained by the [spec-extractor](../../.github/workflows/spec-extractor.md) workflow.*
The pkg/setutil/README.md is the only spec that is missing this footer.
Recommendation: Re-run spec-extractor for pkg/setutil to add the standard footer.
📊 Quality Scores
| Package |
Completeness |
Accuracy |
Consistency |
Freshness |
Overall |
intent |
0% |
— |
— |
— |
❌ 0% |
workflow |
70% |
90% |
90% |
100% |
⚠️ 84% |
cli |
90% |
80% |
90% |
100% |
⚠️ 88% |
setutil |
100% |
100% |
75% |
100% |
✅ 94% |
| All other packages (25) |
95%+ |
90%+ |
95%+ |
100% |
✅ 95%+ |
Completeness weight 30%, Accuracy 30%, Consistency 20%, Freshness 20%.
Action Items
📚 Next review scheduled for tomorrow. Close this issue once all items are resolved.
📚 Specification review by Package Specification Librarian · 177.1 AIC · ⌖ 10.2 AIC · ⊞ 6.1K · ◷
📚 Package Specification Audit Report
Date: 2026-06-21
Total Packages: 30
Packages with Specs: 29
Coverage: 96.7% (29/30)
Coverage Summary
intentactionpinsagentdraincliconsoleconstantsenvutilerrorutilfileutilgithubgitutilimportinpututiljsonutillintersloggerparserrepoutilsemverutilsetutilsliceutilstatsstringutilstylessyncutiltestutiltimeutilttytypestypeutilworkflow🚨 Missing Specifications
The following package has no README.md:
intentresolver.go)The
intentpackage is actively imported bypkg/cli(inoutcome_eval.go) and provides core intent-attribution types (AttributionStatus,AttributionSource,IntentRecord,RootReference,PullRequestData) plus aResolverwithResolvePullRequestandResolveIssuemethods.Recommendation: Run the spec-extractor workflow to generate a README.md for
pkg/intent.No staleness by commit date — all READMEs and source files share the same commit date (2026-06-21). However, spec-implementation gaps were identified in the
workflowpackage (see Cross-Package Inconsistencies below).🔄 Cross-Package Inconsistencies
View inconsistencies (3 issues)
Issue 1:
pkg/cliREADME missing dependenciespkg/cli/README.mdlists 21 internal dependencies in its## Dependenciessection but omits two packages that are imported by non-test production code:github.com/github/gh-aw/pkg/intent— imported bypkg/cli/outcome_eval.goforAttributionStatus,Resolver, etc.github.com/github/gh-aw/pkg/github— imported bypkg/cli/audit_report.go,outcome_eval.go,outcomes_command.go, andoutcomes_history.goRecommendation: Add both missing entries to the
## Dependencies → Internallist inpkg/cli/README.md.Issue 2:
pkg/workflowREADME missing exported functionsThe
workflowpackage has 306 exported functions; the README documents 306 table rows, but a cross-check reveals at least 22 exported functions are not listed, including:GenerateAntigravityInstallerSteps,GenerateCopilotInstallerSteps,GenerateNodeJsSetupStep,GenerateNpmInstallSteps,GenerateNpmInstallStepsWithScope,GenerateRuntimeSetupSteps,GenerateLockMetadata,GenerateMultiSecretValidationStep,GenerateAutoUpdateWorkflow,GenerateMaintenanceWorkflow,GenerateCentralSlashCommandWorkflow,GenerateHeredocDelimiterFromContentGetAllPermissionScopes,GetAllGitHubAppOnlyScopes,ValidatePermissionScopeNamesDetectRuntimeRequirements,DetectKnownCredentialLeakingActions,DetectKnownCredentialLeakingActionsFromWorkflowData,FilterLabelCommandEvents,FilterCommentEvents,FilterEnvForSecrets,IsConditionalDetectionRecommendation: Re-run spec-extractor for
pkg/workflowto regenerate the README and capture these missing exports.Issue 3:
pkg/setutilREADME missing spec-extractor footerAll 29 package READMEs include the standard attribution footer:
The
pkg/setutil/README.mdis the only spec that is missing this footer.Recommendation: Re-run spec-extractor for
pkg/setutilto add the standard footer.📊 Quality Scores
intentworkflowclisetutilAction Items
pkg/intent(run spec-extractor)pkg/workflow/README.mdto document 22+ missing exported functions (run spec-extractor)pkg/intentandpkg/githubto the## Dependenciessection inpkg/cli/README.mdpkg/setutil/README.md(run spec-extractor)Closes #<this issue number>(orFixes/Resolves) in the PR description.