docs refresh: align README/ARCHITECTURE/CONTRIBUTING/SKILLS/USAGE with current code#78
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5aec45a592
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "opensearch":"your-opensearch-report-id", | ||
| "lambda":"your-lambda-report-id" | ||
| }' |
There was a problem hiding this comment.
Include every default resource in report map examples
This live-Wiz example still omits aurora-postgresql, rds-mysql, and rds-postgresql even though this same section now documents those as production-tested defaults. The server initializes all ten YAML resources into the default scan list, and GenericInventorySource.ListResources fails a resource at scan time when WIZ_REPORT_IDS[resourceID] is missing, so users copying this map will get partial scans with those default resources failing/excluded rather than the advertised full catalog.
Useful? React with 👍 / 👎.
What
Cross-checked every claim in the canonical docs against the codebase
(
pkg/config,pkg/types,pkg/eol/endoflife,pkg/workflow,cmd/server/main.go), the live production dashboard(
https://blockcell.sqprod.co/sites/version-guard-dashboard/json/findings.json,snapshot
2026-05-04T18:14:20Z), and the GitHub Actions workflows. Fixeddrift introduced by recent refactors (detector path removal, YAML-driven
EOL lifecycle, Lambda/RDS catalog additions, webhook emitter, Temporal SDK
metrics, OCI Helm release flow).
README.md
(
resource_id,status,message) with the actual PascalCase shape(
pkg/types.Findinghas no JSON tags); keyedfindings_by_typeby theresource config ID (
aurora-mysql) instead of the test-onlyResourceTypeconstant; added thescan_*_time,scan_duration_sec,and
unknown_countfields that the writer actually emits.RDS PostgreSQL, and Lambda from "🔜 Config ready, needs Wiz report ID"
to "✅ Production tested" — confirmed live by the Block dashboard
(231 / 44 / 126 / 19,357 resources respectively). Refined Aurora MySQL
caveat to point at the
deploy/endoflife-overrideshim whileendoflife-date#9534 is still open upstream.
WIZ_REPORT_IDSexamples now includeopensearchandlambda(matching.env.exampleand the default catalog).TEMPORAL_TASK_QUEUE,TEMPORAL_METRICS_ENABLED,TEMPORAL_METRICS_LISTEN_ADDRESS.ARCHITECTURE.md
under a single "Production-Tested" section (the previous structure
contradicted itself by listing OpenSearch under "Planned Resources"
with a "Production tested" description).
AURORA/EKSto actuallowercase config IDs (
aurora-mysql,eks); added serialization-rulesnote; added
scan_duration_secandunknown_count.finding['Status'](PascalCase).get(..., [])for safety.config/anddocs/examples/; added the actually-shippedpkg/config/transforms.go,pkg/config/defaults/,pkg/inventory/wiz/transforms.go,pkg/snapshot/memory_store.go,pkg/workflow/orchestrator/notify.go,pkg/schedule/,charts/,deploy/.(standard, EKS)/ "Why EKS needs its own adapter"→
(standard, declarative)/ "Lifecycle schema reference" — EKS nolonger has a custom adapter; it uses
schema: declarative.CONTRIBUTING.md
TestDetector_Detectexample (noDetectortype since thedetector path was removed in d780b93) with a
TestPolicy_Classifyexample matching the real
Classify(resource, lifecycle) Statussignature.
// +build integrationto the modern//go:build integrationpattern,with a pointer to
pkg/eol/endoflife/integration_test.goandmake test-integration.pkg/config,pkg/registry,pkg/schedule,pkg/workflow/orchestrator/notify.go; clarified existing entries;replaced phantom top-level
docs/withcharts/version-guard/anddeploy/.Actions builds artifacts" steps with the actual
Docker & Helmworkflow behavior (single
vX.Y.Ztag, multi-arch image toghcr.io/block/Version-Guard, OCI Helm chart tooci://ghcr.io/block/charts, tag-vs-Chart.yaml version guard).SKILLS.md
name,wiz_report_id,eol_product,version_field,name_field,schema_type— none of which exist in the real config schema) withconcise pointers to the real example files in
skills/add-version-guard-resource/examples/and one paragraphdescribing the actual schema.
adapter (it uses
schema: standard+ asubstring_lookupenginetransform).
tool_allowlist:→allowed-tools:and addedroles,metadata.{version,status},user-invocable,disable-model-invocationto match the real frontmatter.amp scan skillswith the realamp skill list/amp skill info.https://github.com/agent-skills/specificationURL(HTTP 404) with the live Anthropic Agent Skills engineering post.
guidance to point at the
WIZ_REPORT_IDSenv var (where the IDsactually live); pointed
EOL product mismatchat theeol.schema: declarativepath andpkg/eol/endoflife/ADAPTERS.md;pointed schema-detection issues at
transformsandTRANSFORMS.md.scratch/config-driven-approach/link(
scratch/is gitignored and the path doesn't exist).USAGE.md
✓ Total detectors initialized: 3(the detector path was deleted ind780b93); replaced fixed
4 resource(s) definedwith theparameterized
N(default = 10); aligned the surviving lines withwhat
cmd/server/main.goactually prints.make docker-buildandversion-guard:latestimage with the actualdocker build -f deploy/Dockerfile. Fixed the port mapping from8080:8080to8081:8081 + 9090:9090(HTTP_PORT default is 8081and Temporal SDK metrics serve on 9090).
Files reviewed and left unchanged
TRANSFORMS.md— DSL operations and worked examples verified againstpkg/config/transforms.goandpkg/config/defaults/resources.yaml.AGENTS.md— concise and accurate.GOVERNANCE.md— out of scope.Verification
awkcount of triple-backticksper file).
removed
agent-skills/specificationURL was returning HTTP 404).dashboard JSON (10/10 default-catalog resource types have findings).