Skip to content

Release forge 0.2.4 with scoped local OAuth and retained custody - #13

Merged
ancongui merged 30 commits into
mainfrom
fix/complete-oauth-delivery-20261014
Oct 14, 2026
Merged

ancongui merged 30 commits into
mainfrom
fix/complete-oauth-delivery-20261014

Conversation

@ancongui

@ancongui ancongui commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Connected accounts now supports the explicitly enabled local repository service: admit its fixed policy, register a client and project, complete browser consent, inspect state, request refresh and disconnect locally. Native pyfly services retain PostgreSQL policy, registration, encrypted grant and effect context; current authority also guards resource dispatch and cached tool receipts. This prepares forge 0.2.4 using public pyfly 26.10.3.

The local provider uses different literal factory/provider hosts so browser cookies cannot cross ports on one host. Unknown exchange or rotating-refresh responses block replay; historical credential custody reserves capacity before dispatch. The fixed local adapter admits four repository-read tools only after explicit schema review, exact repository/tool grants and worker permission. GitHub, Figma, Sentry, Grafana and external Playwright OAuth retain their prerequisites.

Runtime composition uses FactoryConfiguration, native typed controllers/repositories and injected collaborators. Updated architecture, installation, security and connected-account guides explain the implemented boundaries. Required flycanon remains the cited knowledge/canonical-memory service. Its canonical installation URLs preserve the current main branch's URL-only correction; the optional flyquery snapshot architecture has no forge adapter or managed service.

Release packaging excludes scratch directories at every depth. Forge and Studio identify 0.2.4; the 228 walkthrough fixtures are tied to the exact frontend/version. Four fresh native OAuth images retain their 0.2.4 source identity and nonsecret provenance.

Validation

  • Native backend: 1,440 passing tests, no failures or skips against the frozen implementation; later runtime change is the version string only. Independent final review added 22 passing adversarial checks.
  • Native 0.2.4 OAuth: actual IPv4 factory and IPv6 stock public pyfly authorization/MCP service; real Studio policy, registration, consent, refresh and disconnect forms. Four fresh captures bind 245 source hashes. Token effects, exact refresh receipts/replay, broker WAL and policy withdrawal/cache denial were checked. Same-host policy rejection returns 409 before provider I/O.
  • Studio: 82 unit tests and 223 browser tests, lint, formatting, types and production build. Lost refresh-response recovery retains the exact pending request across state/page reload, sends no duplicate refresh, and requires both reason and acknowledgment before an explicit recovery save; the corrected regression also passed 20 repeated runs.
  • Documentation: strict source/capture custody, 57 documentation pages, 18 unit tests, 10 scene tests, 52 browser checks, and 5 published-path browser checks; 6,332 local URLs checked.
  • Packages: wheel, source archive and standalone Studio pass release boundaries. All 196 wheel source/assets and 981 source-archive files match their sources. Fresh wheel installation served packaged Studio/font and authenticated native HTTP; SDK/CLI reads and a real MCP stdio initialization plus read call passed with 108 operator tools, using only an owned UUID test schema.

Exact-head remote Verify and Documentation checks must pass before merge. Local native evidence uses owned services and synthetic data: MCP link/discovery/review/project-grant setup uses native API requests, while resource dispatch uses the native in-process broker. It does not establish hosted vendor accounts, production identity federation, paid models, cloud deployment, universal domain DI or complete factory acceptance.

Andres Contreras added 30 commits October 13, 2026 17:57
@ancongui
ancongui merged commit 952a271 into main Oct 14, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant