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 ·

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    DocumentationDocumentation issues or requestsP2Next sprintclose:fixedFixed by a previous PR or release

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions