Skip to content

feat: sync and reference Very Good Engineering content #6

Description

@ryzizub

What

Pull the latest published FFCA standard from Very Good Engineering at session start, and have skills and the auditor read that cache instead of the bundled copy in references/ffca_architecture.md.

Why

references/ffca_architecture.md is a hand-maintained mirror of the FFCA page, and scripts/sync_reference.dart is still a stub. Every change to the standard needs a manual edit plus a plugin release, and plugins are not updated reliably on local machines. The mirror drifts as soon as the source changes. Same approach as VeryGoodOpenSource/vgv-ai-flutter-plugin#158.

How

  • A SessionStart hook runs a sync script before any work begins.
  • The script compares the locally cached VGE version against the published one.
  • Minor difference: download and overwrite the cache.
  • Major difference: keep the cached copy and wait for a plugin release, since renamed or new sections may need skills rewired. Skills cite sections by name, such as Dependency Graph Rules and Naming Conventions (Enforced).
  • The cache lives outside the plugin directory so it survives reinstalls.
  • The bundled references/ffca_architecture.md stays as the fallback when no cache exists.

Sync must fail open. A network failure, a slow response, or an offline machine cannot block the session or the hook's time budget.

Sections

FFCA architecture. Layered Architecture too, since the skills defer to it for non-FFCA repos.

Tasks

  • Add the sync script and wire it to SessionStart in hooks/hooks.json
  • Pin the VGE version this plugin was built against
  • Hold on a major difference, sync on a minor one
  • Fail open on any network or parse error
  • Point skills and ffca-layer-auditor at the cache, falling back to the bundled reference
  • Replace or remove the scripts/sync_reference.dart stub
  • Check whether validate_layers.dart rules need to follow the synced standard

Blocked

Waiting on Very Good Engineering to publish FFCA and to ship versioned, downloadable bundles. Nothing here is implementable until that lands.

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

    external dependencyRequires changes in an external dependencyfeatureA new feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions