feat(clearfolio): expose queryable capability readiness to planners - #537
Draft
cursor[bot] wants to merge 3 commits into
Draft
Conversation
Authenticated GET /api/capabilities and attachment 503 reuse the configuration-only evaluator so operators and the 산출물 dialog can act without coupling optional conversion to /api/health liveness. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
seonghobae
changed the base branch from
fix/clearfolio-artifact-origin-policy-489-reconciled
to
feat/clearfolio-capability-readiness-489
August 16, 2026 16:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Buyer and operator impact
Startup logs are not a planner control surface. After this change, a signed-in operator can query the same non-secret Clearfolio readiness record, and a planner who opens 산출물 sees the next action before picking a file. Unconfigured or unsafe conversion fails closed with HTTP 503 instead of a generic 502 after wasted upload work. Whole-process
/api/healthliveness stays{ok:true}.This is a bounded follow-up to #502 and does not close #489.
Exact current stack
Parent:
feat/clearfolio-capability-readiness-489@f1f0cee6da9dd6ced09b624ae75376dd38d4d670(#502).Head:
a460724e8ff58203e8c6da6a4fd44bed098506af.Fresh parent→child comparison is ahead-only, zero-behind, and has the exact #502 head as merge base. The child was reconciled non-destructively after #502 moved onto #538; parent-owned artifact-origin and capability-readiness behavior is preserved while the original operator-surface delta remains 13 files. No predecessor-head evidence transfers.
Do not merge before #502, #538, #498, #493, and their protected predecessors.
What changed
GET /api/capabilitiesreturns{capabilities:{clearfolio:{ready,mode,reason,action}}}from the configuration-only evaluator. Anonymous callers get401. No DNS or HTTP provider call.변환 설정 필요.fetchreplaced by a throwing function.docs/api.mdanddocs/deploy.mdpreserve fix(clearfolio): require canonical artifact-origin allowlist entries #538's exact artifact-origin allowlist/operator contract while adding the queryable readiness and HTTP 503 behavior.docs/doctoring/clearfolio-capability-operator-surface.md(RFC 9110; Kubernetes probes; APA 7th).Out of scope
Remote Clearfolio reachability, retry/idempotency, and the persisted provider lifecycle remain later #489 work. Coordinate any wire-protocol change with ContextualWisdomLab/clearfolio.
Current exact-head evidence boundary
All checks, reviews, and statuses predating
a460724e8ff58203e8c6da6a4fd44bed098506afare historical. This PR remains Draft until fresh exact-head repository and organization checks pass, valid review findings are exhausted, and live governance requirements are satisfied.Merge gate
Do not self-approve. Exact-head repository and organization checks on this unchanged head are required. Pending, queued, skipped-required, absent, stale, predecessor, author-only, draft-skip, status-only, or model-only evidence does not transfer or count as passing.
Refs #489 #502