Inspiration
A one-line software change can replace REVIEW REQUIRED with ELIGIBLE while the source evidence and applicant facts remain unchanged. For a maintainer of funding-preparation software, that is a dangerous change in meaning—not proof that someone qualifies.
FundPilot Release Guardian connects authentic GitLab Duo code review to a checkable human release decision. In the retained demonstration, Duo identified the unsafe claim; independent tests also failed. The owner approved the correction, and the corrected pipeline passed. That history stays inspectable rather than becoming an unexplained green badge.
Try the public Command Center. It opens on the Release Readiness Dossier: verified facts, blockers, missing information and the next human action. Inspect a recorded Duo finding beside its source evidence, draft a corrective plan, and export a receipt another maintainer can replay. The guided historical case connects the unsupported claim to review, correction and CI.
Trust comes from keeping those responsibilities separate. Duo supplies AI-powered review; deterministic checks validate retained evidence; a person decides whether to release. Local proposals cannot erase failed audits or grant deployment authority. The public workspace performs no live language-model inference, and the separately hosted funding evaluator is rules based. Passing tests are not a security clearance, and consistent hashes are not publisher authentication. The full Studio remains blocked; the independently approved static workspace is the public experience.
Judge routing and status legend. The primary deployment is the public Command Center above. Review the exact released source and MR !23; the default main README describes an earlier funding-app release. BLOCKED means a required observed condition fails; UNVERIFIED means adequate evidence has not been collected; PASSED means only the named check succeeded. Neither PASSED nor a replayed export grants release authority. The separate funding app is optional historical context and can be intermittently unavailable on Render Free.
What the public product does
The Command Center connects three useful maintainer workflows:
- Finding to checkable correction. Select an authentic GitLab Duo finding and its affected code. Write the threatened guarantee, proposed correction and an observable verification plan. The browser recomputes ten packet-consistency checks, preserves unfinished drafts separately by revision/finding, and invalidates exports after edits. Export a readable follow-up brief and a JSON action receipt. Reopen the receipt in the browser to compare it with independently loaded, checksummed source evidence; an offline Node verifier provides a separate reproduction path.
Observed evidence versus a release hypothesis. Keep the dated baseline visible while varying tests, security, formal reviewer state, packaging and revision binding. Clearing technical observations can still leave a review block. Even a synthetic all-clear result requires human review. Simulations never become agent execution or release authority.
Evidence to a release decision. The Release Readiness Dossier separates verified facts, failed gates, missing information and human actions across eight named conditions. Expand a condition to read the retained evidence and its original date; follow the same native finding back to the corrective-action workbench. Record a local proposal and download readable Markdown or a source-bound JSON dossier that the independent Node verifier can replay. Three verified conditions out of eight is an evidence count, not an approval probability. Local proposals never turn HOLD into authorization.
The seven-step Judge Mode starts with the original unsafe conclusion, its unchanged evidence, authentic Duo review, owner-approved correction and independent CI. It then leads into the actual investigation workbench. Downloaded files remain under the visitor’s control; the receipt picker does not upload them. This public browser workspace cannot invoke a new agent, apply code, merge or deploy.
The application protected by this workflow: the separate FundPilot funding demo compares public requirements with fictional applicant facts and produces source-backed reports. MATCH means a supported comparison, not eligibility certification. Unsupported clauses and missing information still need review.
What the AI actually did
GitLab Duo provides native AI-powered Code Review Flow. The public evaluator, assurance calculations and browser checks are deterministic; they run no live language-model inference. Original FundPilot separately supports a documented local Gemma integration.
In the isolated historical demonstration, Duo identified the unsafe eligibility label. Independent tests caught it too: the unsafe pipeline failed and the corrected pipeline passed 161 tests after the owner’s precise correction approval. MR !2 remains unmerged and must never be merged. No incremental AI-detection benefit over those tests is claimed.
A second genuine review found lost unsaved corrective-action drafts. Native session 10010266 identified the loss; the owner approved the scoped fix and c674b15 retained drafts by revision/finding. Follow-up 10010351 confirmed it in its execution trace. Session details may require sign-in; a finished session is not formal approval.
How we built it
An existing MIT Python application gained native GitLab Duo review, repository-specific review instructions, independent GitLab CI/security gates, revision-bound packaging and explicit human release decisions. Original FundPilot already had tests and GitHub Actions; we did not invent a “before” without testing.
The public Command Center uses modular JavaScript and first-party static assets, without a framework, CDN scripts, npm/Python runtime dependencies, public credentials or privileged anonymous endpoints. The optional local Python adapter has a separate bounded access model; it is not exposed publicly. Exact packet manifests, source hashes, artifact references and revision checks make provenance inspectable. Hashes establish consistency, not publisher identity, freshness or approval.
Source-pinned workbench reproduction guide. A clean CI-artifact extraction outside Git, without installation or network, reproduced 48 constructed assurance conditions across four real dated observations and four independent receipt-verification processes. These are technical checks, not a user study or AI-accuracy benchmark.
Challenges and release safeguards
A useful assurance product must preserve bad news. Current pipeline 2986830740 failed overall: full Studio audits retain 43 tested-lock records (37 Pillow + 6 Filelock) and 37 hosted Pillow records. The ordinary full package remains skipped. Passing tests do not patch these findings; no advisory was suppressed and no incompatible dependency was forced.
The independently scoped static component passed all five applicable jobs: 95 Node checks, 79 focused Python checks, a five-package component audit with no known findings, scoped secret scan and exact-source packaging. The standard suite separately passed 385 tests; counts overlap and are not code coverage. Its 24-file public projection was checked against exact source and CI hashes. No Gradio/Pillow/Filelock or Python runtime is published by this static projection. The separately deployed e694 funding app is not patched or certified by those component results.
The Dossier’s native review found four real gaps: mixed-review-state HOLD precedence, missing manifest CI checks, disclosure prominence and Markdown escaping/source retention. The owner approved the fixes. Follow-up 10015972 confirms all four and no new correctness/security problems in its visible trace. No new summary was independently found in MR notes; formal Requested changes persisted.
The owner separately authorized MR !22’s exact human requesting-reviewer override and one-time static-only release. This is not formal Duo approval, a protected merge or a full-Studio audit waiver. Only the four corrected discussions were resolved. MR !22 remains Draft/open/unmerged; auto-deploy and previews stay Off.
The latest UX review caught a separate evidence-attribution edge case: an absent native-comment timestamp could borrow the packet observation time. The owner approved the exact one-line correction, which now displays uncollected. Native follow-up 10020226 confirms the fix, revision isolation, invalidation and no new correctness/release-safety issue in its visible posting trace. Formal Requested changes still persisted; the owner explicitly authorized MR !23’s exact human reviewer override and static-only release. Only that corrected discussion was resolved. MR !23 is unmerged; this is not formal Duo approval or a full-Studio audit waiver.
Current release and practical value
The public Command Center now runs 6f6046d590dcc8a354d33ef2a1a4d959bbfe2f6c. The Decision workspace opens first: HOLD, blockers, missing facts and human actions appear before exports; the five required source previews and selected native finding are visible together. All eight conditions and Overview / Investigation / Action / Decision navigation remain available. Finding selection and drafts are isolated by exact revision. Release metadata distinguishes the interface source from the dated MR revisions selected inside it. All 24 canonical public files matched the approved static artifact. Actual desktop/mobile browser checks cover evidence links, same-finding workbench return, proposals, draft isolation, invalidated exports, receipt rejection and genuine JSON/Markdown downloads with independent replay. Reproduce the Dossier.
The separate funding application remains e694cd25. The three gallery images show the genuine earlier c674b15 public workbench. The published 2:55 demonstration joins two clearly labeled genuine browser takes: the earlier c674b15 workflow and the current 6f6046d Decision workspace, including the Release Readiness Dossier. Historical Duo and CI records are retained evidence; no new agent execution or release approval is staged. The earlier 2:48 recording remains preserved.
For software maintainers preparing a consequential release, the practical questions are: What exactly changed, what evidence supports the correction, and what still prevents release? In this public workflow, a maintainer can trace a claim to a recorded native finding, write a checkable correction plan, inspect each failed or missing condition and give another reviewer a replayable receipt. That preserves an inspectable rationale when individual tests pass but release must stay on HOLD. These are demonstrated workflow capabilities—not measured reductions in harm or human effort.
The public evaluation executes 32 constructed cases (four retained observations and 28 perturbations) with a separate answer key and negative controls. These are deterministic technical cases; the deliberately narrow pipeline-only and keyword baselines are not representative human reviewers or AI competitors. All source groups were previously inspected, not a blind holdout.
A recorded two-case, agent-operated GitLab-versus-Dossier comparison found all five required dated records and correct HOLD reasoning in both routes. The pre-linked baseline took six actions per case versus nine in the Dossier: no accuracy or navigation advantage demonstrated. Both received the same retained packet when original views showed warnings/incomplete rendering. Timers excluded later answers, so they are not human task times. Raw recordings, logs and exported dossiers are retained. No independently documented FundPilot task-study observations are available; human time savings, comprehension and prevented harm remain unmeasured.
A follow-up scripted, known-case interface probe compared the released 816 Dossier with the new public first-run brief on the same two real cases and outputs. It counted explicit viewport coverage and recorded a structured explanation before stopping the timer: 11 actions before versus 3 and 4 after, with all five required records, original native text, eight conditions and HOLD/no-authority output retained. This revised protocol does not overwrite the earlier six-versus-nine result. The operator already knew the cases, and the explanation was assembled deterministically; it is not independent reasoning, human timing, a causal speedup or a user study. The owner reports earlier SOP participation in separate work, but its relevance to FundPilot tasks and reporting consent remain unverified; no private research content is used here.
A later equal-start, equal-output agent-operated check began each route at the same GitLab MR and required the same five-part investigation brief. FundPilot took 1 action versus 3 manually for MR20, but 5 versus 2 for MR17: no general navigation advantage was demonstrated. All four answers retained five required record references and justified HOLD (implementer self-assessment, not independent grading). Whole-task agent times were 29.42 versus 37.53 seconds for MR20 and 32.34 versus 26.68 for MR17. Both routes could use the same dated JSON fallback; manual GitLab encountered an artifact warning without bypassing it. AX/DOM-assisted reading, already-known cases and independent n=0 prevent claims of human speedup or blinded accuracy. The earlier protocols remain separate.
What we learned and what’s next
AI review can find a real usability defect and can also raise a mistaken concern. Source inspection, independent checks and human judgment remain necessary. A green test count cannot erase failed security audits, and a consistent receipt cannot authorize production.
Next work is consent-based evaluation with unfamiliar maintainers and supported upstream dependency remediation. The completed public fallback, video and dated evidence remain usable while failed gates stay visible.
Open-source provenance and entry category
Path B — Bring Your Own: Assisted. Original MIT project: siamakenna/fundpilot-ai-week2-2026. Competition source and visible CI: public GitLab project. The MIT license and both histories are preserved. Optional local model terms are separate; no Gemma model is served by either public component. Human approval is an intentional safety boundary in this Assisted workflow.
Built With
- gitlab
- python