What drifted
Three passages in docs/guides/filtering-resources.md are now inconsistent with the current source after the !-prefix exclusion feature (merged in PR #222) and the service-level policy filter fix (merged in PR #221):
1. "Full Extract Minus Specific Resources" section claims no exclude syntax exists
Lines ~403-406 still read:
There is no "exclude" syntax. To extract everything except certain resources, list all the resources you do want.
This directly contradicts the !-prefix exclusion feature added in commit 1908924 and documented in the "Excluding resources with !" section earlier in the same file.
2. API sub-filter exclusion example uses apiSubFilters as a top-level YAML key
The example added in commit 1908924 (lines ~203-213) shows:
apis:
- 'my-api'
apiSubFilters:
my-api:
operations:
- 'get-*'
- '!get-internal-*'
However, apiSubFilters is an internal TypeScript field (FilterConfig.apiSubFilters), not a user-facing YAML key. The config loader's FILTER_KEY_ALIASES type explicitly excludes apiSubFilters:
type FilterYamlKey = Exclude<keyof FilterConfig, 'apiSubFilters' | 'workspaceSubFilters'>;
Any YAML file that includes apiSubFilters as a top-level key will trigger a warning:
Unknown filter config key 'apiSubFilters'; ignoring.
The correct YAML format uses the nested object entry form inside apis:
apis:
- 'my-api':
operations:
- 'get-*'
- '!get-internal-*'
This is the format shown correctly in docs/commands/extract.md.
3. Section heading says "All 16 Filterable Resource Types" but there are 17
The heading at line ~263 says "All 16 Filterable Resource Types" but the table immediately below it lists 17 resource types (including policies, which was added/documented in PR #221).
Source of truth
src/lib/config-loader.ts — FILTER_KEY_ALIASES type shows apiSubFilters is excluded from YAML parsing; unknown key warning at line ~215
src/models/config.ts — FilterConfig interface: apiSubFilters is an internal computed field
src/services/filter-service.ts — matchesFilter function implements !-prefix exclusion
docs/commands/extract.md — correct nested object form for API sub-filters (lines ~165-175)
docs/guides/filtering-resources.md — "Excluding resources with !" section (lines ~169-214) documents the new exclusion feature but the "Full Extract Minus Specific Resources" section (lines ~403-406) was not updated
Affected documentation
docs/guides/filtering-resources.md
- Lines ~263: heading count (16 → 17)
- Lines ~403-406: stale claim that no exclude syntax exists
- Lines ~203-213: incorrect YAML example using
apiSubFilters as top-level key
Suggested update
- Line ~263 heading: Change "All 16 Filterable Resource Types" → "All 17 Filterable Resource Types"
- Lines ~403-406: Update the "Full Extract Minus Specific Resources" section to acknowledge the
!-prefix exclusion syntax, e.g. "Use !-prefixed entries to exclude specific resources — see Excluding resources with ! above."
- Lines ~203-213: Replace the
apiSubFilters top-level key example with the correct nested object form inside apis (as shown in docs/commands/extract.md). Also update the surrounding prose from "sub-filter fields inside apiSubFilters and workspaceSubFilters" to describe the inline nested object syntax instead of the internal field name.
Generated by Documentation Freshness Check — System Policy · 71.7 AIC · ⌖ 7.33 AIC · ⊞ 6.2K · ◷
What drifted
Three passages in
docs/guides/filtering-resources.mdare now inconsistent with the current source after the!-prefix exclusion feature (merged in PR #222) and the service-level policy filter fix (merged in PR #221):1. "Full Extract Minus Specific Resources" section claims no exclude syntax exists
Lines ~403-406 still read:
This directly contradicts the
!-prefix exclusion feature added in commit1908924and documented in the "Excluding resources with!" section earlier in the same file.2. API sub-filter exclusion example uses
apiSubFiltersas a top-level YAML keyThe example added in commit
1908924(lines ~203-213) shows:However,
apiSubFiltersis an internal TypeScript field (FilterConfig.apiSubFilters), not a user-facing YAML key. The config loader'sFILTER_KEY_ALIASEStype explicitly excludesapiSubFilters:Any YAML file that includes
apiSubFiltersas a top-level key will trigger a warning:The correct YAML format uses the nested object entry form inside
apis:This is the format shown correctly in
docs/commands/extract.md.3. Section heading says "All 16 Filterable Resource Types" but there are 17
The heading at line ~263 says "All 16 Filterable Resource Types" but the table immediately below it lists 17 resource types (including
policies, which was added/documented in PR #221).Source of truth
src/lib/config-loader.ts—FILTER_KEY_ALIASEStype showsapiSubFiltersis excluded from YAML parsing; unknown key warning at line ~215src/models/config.ts—FilterConfiginterface:apiSubFiltersis an internal computed fieldsrc/services/filter-service.ts—matchesFilterfunction implements!-prefix exclusiondocs/commands/extract.md— correct nested object form for API sub-filters (lines ~165-175)docs/guides/filtering-resources.md— "Excluding resources with!" section (lines ~169-214) documents the new exclusion feature but the "Full Extract Minus Specific Resources" section (lines ~403-406) was not updatedAffected documentation
docs/guides/filtering-resources.mdapiSubFiltersas top-level keySuggested update
!-prefix exclusion syntax, e.g. "Use!-prefixed entries to exclude specific resources — see Excluding resources with!above."apiSubFilterstop-level key example with the correct nested object form insideapis(as shown indocs/commands/extract.md). Also update the surrounding prose from "sub-filter fields insideapiSubFiltersandworkspaceSubFilters" to describe the inline nested object syntax instead of the internal field name.