Skip to content

[Doc Drift] Three stale passages in docs/guides/filtering-resources.md after recent filter changes #228

Description

@github-actions

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.tsFILTER_KEY_ALIASES type shows apiSubFilters is excluded from YAML parsing; unknown key warning at line ~215
  • src/models/config.tsFilterConfig interface: apiSubFilters is an internal computed field
  • src/services/filter-service.tsmatchesFilter 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

  1. Line ~263 heading: Change "All 16 Filterable Resource Types" → "All 17 Filterable Resource Types"
  2. 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."
  3. 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 ·

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions