Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
266 commits
Select commit Hold shift + click to select a range
5e16cae
fix: classify a block-form dependency by any nested source key, not j…
sgardoll Sep 22, 2026
50a5c86
fix: classify a block-form dependency by any nested source key, not j…
sgardoll Sep 22, 2026
2670d79
fix: skip verification conservatively when an unrepresentable source …
sgardoll Sep 22, 2026
dad5c48
fix: skip verification conservatively when an unrepresentable source …
sgardoll Sep 22, 2026
bf624e9
fix(ci): scan the bundle for every provider endpoint and credential s…
sgardoll Sep 22, 2026
b7057dd
fix(ci): scan the bundle for every provider endpoint and credential s…
sgardoll Sep 22, 2026
d577611
ci: pin workflow actions to commit SHAs and minimize token permissions
sgardoll Sep 22, 2026
585c580
ci: pin workflow actions to commit SHAs and minimize token permissions
sgardoll Sep 22, 2026
1df4b3f
test: derive the deploy guard's expected absent bundles from the buil…
sgardoll Sep 22, 2026
b839f1f
test: derive the deploy guard's expected absent bundles from the buil…
sgardoll Sep 22, 2026
b2c7a47
fix: classify a block-form dependency by any nested source key, not j…
sgardoll Sep 22, 2026
a61bf82
fix: skip verification conservatively when an unrepresentable source …
sgardoll Sep 22, 2026
b72a93e
fix(ci): scan the bundle for every provider endpoint and credential s…
sgardoll Sep 22, 2026
74bf8f2
ci: pin workflow actions to commit SHAs and minimize token permissions
sgardoll Sep 22, 2026
cc79801
test: derive the deploy guard's expected absent bundles from the buil…
sgardoll Sep 22, 2026
48ea989
fix: classify a block-form dependency by any nested source key, not j…
sgardoll Sep 22, 2026
0fbd53c
fix: skip verification conservatively when an unrepresentable source …
sgardoll Sep 22, 2026
dd3f530
fix(ci): scan the bundle for every provider endpoint and credential s…
sgardoll Sep 22, 2026
a07485c
ci: pin workflow actions to commit SHAs and minimize token permissions
sgardoll Sep 22, 2026
16eaa8c
test: derive the deploy guard's expected absent bundles from the buil…
sgardoll Sep 22, 2026
38b7bcf
fix: classify a block-form dependency by any nested source key, not j…
sgardoll Sep 22, 2026
aeb5376
fix: skip verification conservatively when an unrepresentable source …
sgardoll Sep 22, 2026
d7c21e6
fix(ci): scan the bundle for every provider endpoint and credential s…
sgardoll Sep 22, 2026
b68eb44
ci: pin workflow actions to commit SHAs and minimize token permissions
sgardoll Sep 22, 2026
33b83e2
test: derive the deploy guard's expected absent bundles from the buil…
sgardoll Sep 22, 2026
55777a7
fix: bound verification sdkPackages like the dependency maps and dedu…
sgardoll Sep 22, 2026
a7a860c
test(e2e): abort un-fixtured external requests in browser fixtures
sgardoll Sep 22, 2026
0d9f1de
test(e2e): build fixture deployOrder from the artifacts' real IDs
sgardoll Sep 22, 2026
eaff012
ci: install Playwright Chromium and run the browser tests
sgardoll Sep 22, 2026
762fa71
ci: run the accessibility modal tests in CI with Playwright Chromium
sgardoll Sep 22, 2026
8f462d5
fix(auth): derive the magic-link guard contract from the shared fixture
sgardoll Sep 22, 2026
842d3a7
fix(auth): announce the magic-link rejection message to screen readers
sgardoll Sep 22, 2026
303da71
test(auth): assert the exact rejection message instead of substrings
sgardoll Sep 22, 2026
536c614
fix: keep Plans reachable on the mobile topbar
sgardoll Sep 22, 2026
3923f18
fix: move keyboard focus into the revealed view on navigation
sgardoll Sep 22, 2026
f6f03b0
ci: run the browser and accessibility modal tests on every pull request
sgardoll Sep 22, 2026
e300b76
fix: scope the verification skip to direct importers and disclose the…
sgardoll Sep 22, 2026
0dd50c0
fix: scope the verification skip to direct importers and disclose the…
sgardoll Sep 22, 2026
37716b3
fix: scope the verification skip to direct importers and disclose the…
sgardoll Sep 22, 2026
f8cbfdd
fix: scope the verification skip to direct importers and disclose the…
sgardoll Sep 22, 2026
0750086
fix: scope the verification skip to direct importers and disclose the…
sgardoll Sep 22, 2026
3b1d2eb
fix: scope the verification skip to direct importers and disclose the…
sgardoll Sep 22, 2026
d926db2
test(e2e): serve SRI-pinned assets from byte-identical vendored copies
sgardoll Sep 22, 2026
8792d68
Merge STU-371 review fixes into integration
sgardoll Sep 22, 2026
b15651b
Merge STU-372 review fixes into integration
sgardoll Sep 22, 2026
53d88b2
Merge STU-149 review fixes into integration
sgardoll Sep 22, 2026
f9d9e62
Merge STU-373 review fixes into integration
sgardoll Sep 22, 2026
dbbca77
Merge STU-374 review fixes into integration
sgardoll Sep 22, 2026
db2996a
Merge STU-375 review fixes into integration
sgardoll Sep 22, 2026
0064fd0
build: regenerate dist for the integrated redesign baseline
sgardoll Sep 22, 2026
d384235
merge resolution: align STU-372 smoke fixtures with the integrated re…
sgardoll Sep 22, 2026
eb53eb8
feat: wire the redesigned prompt composer, attachments and local sugg…
sgardoll Sep 22, 2026
165124d
STU-386: restyle magic-link sign-in and preserve return-to-task
sgardoll Sep 22, 2026
dfd9f8a
STU-377: bind the generation view to real stage events and recoverabl…
sgardoll Sep 22, 2026
2ad83ee
build: regenerate dist for the STU-377 generation view
sgardoll Sep 22, 2026
348f645
test: let parallel worktrees run the dev server and browser suite on …
sgardoll Sep 22, 2026
ca3e2d2
STU-389 port the hero mark field with motion and rendering fallbacks
sgardoll Sep 22, 2026
96c18c2
STU-389: assert canvas pointer-transparency as an explicit contract
sgardoll Sep 22, 2026
51d1aa0
STU-378: rebuild Results Summary and artifact inspection with stable …
sgardoll Sep 22, 2026
6ddb892
STU-381: bind topbar allowance and usage dialog to real monthly metering
sgardoll Sep 22, 2026
3b23cf2
fix(STU-394): restore the generation trigger after the redesign remov…
sgardoll Sep 22, 2026
fe45385
test(STU-394): assert a real pipeline request, not just the busy state
sgardoll Sep 22, 2026
d5c9bdf
Merge pull request #87 from sgardoll/sgardoll/stu-394-restore-the-gen…
sgardoll Sep 22, 2026
6ac46b5
test(STU-389): make the frame-measurement test falsifiable and relabe…
sgardoll Sep 22, 2026
c79cab5
fix(STU-378): gate the results render hook on DEV so it is absent fro…
sgardoll Sep 22, 2026
ea251f0
test(STU-378): assert equal prominence of the three result actions (f…
sgardoll Sep 22, 2026
4737337
test(STU-381): drive the post-run metering path through a real genera…
sgardoll Sep 22, 2026
ea32bdd
Merge pull request #84 from sgardoll/sgardoll/stu-389-port-the-hero-m…
sgardoll Sep 22, 2026
b909e0b
Merge pull request #85 from sgardoll/sgardoll/stu-378-rebuild-results…
sgardoll Sep 22, 2026
d09714c
Merge pull request #86 from sgardoll/sgardoll/stu-381-bind-the-topbar…
sgardoll Sep 22, 2026
1789ffa
feat(STU-388): make review feedback reflect real submission outcomes
sgardoll Sep 22, 2026
6a5312b
fix: skip verification of package-importing classes when the dependen…
devin-ai-integration[bot] Sep 22, 2026
78ee58c
STU-383: build the account overview with real identity, usage and hon…
sgardoll Sep 22, 2026
2e38d6f
feat(STU-382): build verified plans surface and paywall states on exi…
sgardoll Sep 22, 2026
b4f2718
feat(STU-380): truthful deployment terminal outcomes
sgardoll Sep 22, 2026
99447c0
test(STU-382): scan full document source for mock purchase-success to…
sgardoll Sep 22, 2026
f1a56df
STU-377: isolate pipeline runs and make mid-run edit a real cancel
devin-ai-integration[bot] Sep 22, 2026
a82f464
Merge milestone/stu-implement-updated-ui-ux into stu-377-pipeline-pro…
devin-ai-integration[bot] Sep 22, 2026
c0082f6
build: regenerate dist for the merged STU-377 generation view
devin-ai-integration[bot] Sep 22, 2026
9700380
STU-377: keep regeneration failures on the persistent failure panel
devin-ai-integration[bot] Sep 22, 2026
41cbb2f
build: regenerate dist for the merged STU-377 generation view
devin-ai-integration[bot] Sep 22, 2026
2b93556
STU-377: unreachable skipped stages, zeroed elapsed clock, faithful r…
devin-ai-integration[bot] Sep 22, 2026
6357b21
build: regenerate dist for the merged STU-377 generation view
devin-ai-integration[bot] Sep 22, 2026
a142c47
fix: restore regeneration controls for runs abandoned by edit
devin-ai-integration[bot] Sep 22, 2026
68fe52c
build: regenerate dist
devin-ai-integration[bot] Sep 22, 2026
53076f4
fix: keep isUsageLimit through Architect and Review wrappers
devin-ai-integration[bot] Sep 22, 2026
2b969a1
build: regenerate dist
devin-ai-integration[bot] Sep 22, 2026
b3c26d9
fix(STU-388): require positive confirmation before announcing a saved…
sgardoll Sep 22, 2026
806703d
test+fix(STU-380): classify explicit HTTP rejections as FAILED and fa…
sgardoll Sep 22, 2026
319bff3
STU-383: fix duplicate h1, cover the connected card branch, and gate …
sgardoll Sep 22, 2026
63cfefa
fix(STU-382): hermetic price test, wire PLAN_FEATURES to the UI, rest…
sgardoll Sep 22, 2026
f635007
fix(STU-382): present API & MCP access as available, not "coming soon"
sgardoll Sep 22, 2026
0fe8d00
Merge pull request #88 from sgardoll/sgardoll/stu-388-make-review-fee…
sgardoll Sep 22, 2026
c646f36
Merge pull request #89 from sgardoll/sgardoll/stu-383-build-the-accou…
sgardoll Sep 22, 2026
9dcb8ce
Merge pull request #90 from sgardoll/sgardoll/stu-382-build-the-plans…
sgardoll Sep 22, 2026
be54664
Merge pull request #91 from sgardoll/sgardoll/stu-380-apply-the-new-d…
sgardoll Sep 22, 2026
d27ade3
feat(STU-384): response-driven account connection state and endpoint …
sgardoll Sep 22, 2026
8bfe0c0
feat(STU-387): implement account access & data actions without fake d…
sgardoll Sep 22, 2026
4a42da6
docs(STU-387): add visual slices of the account access & data surface…
sgardoll Sep 22, 2026
3f865c9
feat(STU-384): browser fixtures for account connection states
sgardoll Sep 22, 2026
30d28b5
docs(STU-384): reference screenshots of connected account state
sgardoll Sep 22, 2026
d4306b3
chore(STU-384): restore untouched STU-383 screenshots to upstream state
sgardoll Sep 22, 2026
b9f634a
Merge pull request #83 from sgardoll/sgardoll/stu-377-render-real-gen…
sgardoll Sep 22, 2026
cb9aab4
Merge remote-tracking branch 'origin/milestone/stu-implement-updated-…
sgardoll Sep 22, 2026
7a551d2
test(STU-386): assert the badge renders "Pro", not "Professional"
sgardoll Sep 22, 2026
73290e3
Merge pull request #82 from sgardoll/sgardoll/stu-386-restyle-magic-l…
sgardoll Sep 22, 2026
2b96779
feat(STU-379): preserve previous results through refinement and build…
sgardoll Sep 22, 2026
01ab497
feat(STU-390): port authored logo animation into the pipeline present…
sgardoll Sep 22, 2026
2c83518
Merge pull request #95 from sgardoll/sgardoll/stu-390-port-the-author…
sgardoll Sep 22, 2026
6a52d86
fix(STU-379): surface upgrade affordance on quota failure in replacem…
sgardoll Sep 22, 2026
ef4a36a
Merge pull request #94 from sgardoll/sgardoll/stu-379-preserve-previo…
sgardoll Sep 22, 2026
26c2afe
fix(STU-384): honor configured endpoint in connection/project fetches…
sgardoll Sep 22, 2026
bc1c505
fix(STU-387): make the e2e genuinely refuse a second send and surface…
sgardoll Sep 22, 2026
2720c4a
ci: re-trigger CI
sgardoll Sep 22, 2026
f4b5e0f
Merge remote-tracking branch 'origin/milestone/stu-implement-updated-…
sgardoll Sep 22, 2026
ba53422
Merge pull request #92 from sgardoll/sgardoll/stu-384-implement-the-a…
sgardoll Sep 22, 2026
0360db6
Merge pull request #93 from sgardoll/sgardoll/stu-387-implement-accou…
sgardoll Sep 22, 2026
2a913b8
STU-391: bring tutorials and onboarding into the new visual system
sgardoll Sep 22, 2026
a32df5f
test(STU-391): poll for walkthrough reopen instead of a hard sleep to…
sgardoll Sep 22, 2026
c789fd0
fix(STU-391): gate walkthrough advance on real connection, not stored…
sgardoll Sep 22, 2026
ef3bd5a
test(STU-391): gate walkthrough clicks on the open animation settling
sgardoll Sep 22, 2026
233c0d4
test: fix load-fragile browser specs blocking CI (STU-391, STU-390)
sgardoll Sep 22, 2026
e845436
Merge pull request #96 from sgardoll/sgardoll/stu-391-bring-tutorials…
sgardoll Sep 23, 2026
5f8bf04
fix: restore attachment thumbnails/model-capability wrapper in the re…
devin-ai-integration[bot] Sep 23, 2026
df12fe9
build: add rebuilt dist bundle
devin-ai-integration[bot] Sep 23, 2026
d075a3f
merge: milestone/stu-implement-updated-ui-ux into STU-376 branch
devin-ai-integration[bot] Sep 23, 2026
8f99fa3
fix: Devin Review findings — bind composer before awaited startup, ga…
devin-ai-integration[bot] Sep 23, 2026
f920f84
fix: Devin Review round 2 — await startup session before entitlement …
devin-ai-integration[bot] Sep 23, 2026
3de9d4d
fix: Devin Review round 3 — reserve attachment slots, gate submit on …
devin-ai-integration[bot] Sep 23, 2026
8f26e06
fix: Devin Review round 4 — ordered attachment slots, disable attach …
devin-ai-integration[bot] Sep 23, 2026
12cd400
fix: Devin Review round 5 — abort discarded uploads with timeout, mak…
devin-ai-integration[bot] Sep 23, 2026
bb5c2b9
fix: Devin Review round 6 — freeze submitted attachments before prefl…
devin-ai-integration[bot] Sep 23, 2026
31b65e7
fix: let pending-thumbnail remove button receive clicks through spinner
devin-ai-integration[bot] Sep 23, 2026
5a7b7ba
Merge pull request #81 from sgardoll/sgardoll/stu-376-wire-the-redesi…
sgardoll Sep 23, 2026
2bcd074
STU-385: move generation options into the composer settings dialog
sgardoll Sep 23, 2026
771666b
STU-385: keep the canonical model selector on the page; dialog mirror…
sgardoll Sep 23, 2026
b392fd8
STU-385: capture composer-settings dialog screenshots for review
sgardoll Sep 23, 2026
5b896ed
chore(STU-385): drop dist/ from this PR — the committed artifact was …
sgardoll Sep 23, 2026
d3708da
Merge pull request #97 from sgardoll/sgardoll/stu-385-move-generation…
sgardoll Sep 23, 2026
9675fa0
build: regenerate dist so the tracked artifact carries the final mile…
sgardoll Sep 23, 2026
427e8c0
fix: read every own-key for a dependency's source, count exports, bou…
devin-ai-integration[bot] Sep 25, 2026
368ab1f
fix(STU-380): truthful outcomes for unreachable push/provision paths
devin-ai-integration[bot] Sep 27, 2026
33f5880
fix(STU-380): classify dropped bodies on their status, not their read…
devin-ai-integration[bot] Sep 27, 2026
eafd7ff
fix(STU-380): drop the cached project snapshot on unconfirmed provisi…
devin-ai-integration[bot] Sep 27, 2026
c74d7cf
test(STU-380): deliver the phase chunk before the mid-stream drop
devin-ai-integration[bot] Sep 27, 2026
606aaa6
fix(STU-380): surface definitive deploy failures in the terminal modal
devin-ai-integration[bot] Sep 27, 2026
a2a5dbd
fix(STU-380): treat push 5xx as uncertain; refusal after an uncertain…
devin-ai-integration[bot] Sep 27, 2026
0454196
fix(STU-380): bound the sync push so a stalled FlutterFlow cannot han…
devin-ai-integration[bot] Sep 27, 2026
0dfb761
fix(STU-380): keep the HTTP status on a provisioning refusal whose bo…
devin-ai-integration[bot] Sep 27, 2026
de67238
fix(STU-380): stop retries after UI timeout; label failure terminal c…
devin-ai-integration[bot] Sep 27, 2026
bd605a1
fix(deploy): runner failures after deploy begins are unconfirmed, not…
devin-ai-integration[bot] Sep 27, 2026
ffe5e91
fix(deploy): keep provisional cache + honest provenance on post-start…
devin-ai-integration[bot] Sep 27, 2026
5fff0ff
fix(deploy): cancel stalled diagnostic body reads instead of leaking …
devin-ai-integration[bot] Sep 27, 2026
c32e91c
fix(deploy): scope preWrite to parse errors, drain discarded bodies, …
devin-ai-integration[bot] Sep 27, 2026
f6649b6
fix(deploy): track possibly-written files as dirty until an export pr…
devin-ai-integration[bot] Sep 27, 2026
2c50390
fix(deploy): key dirty writes by content so overlapping provisions st…
devin-ai-integration[bot] Sep 27, 2026
635cbe1
fix(deploy): account writes per attempt; hold exports while a push is…
devin-ai-integration[bot] Sep 27, 2026
6dd8edb
Merge pull request #99 from sgardoll/devin/1790492379-stu380-review-f…
sgardoll Sep 27, 2026
ac2ebb7
Fix stale endpoint responses, stale project target, false magic-link …
sgardoll Sep 28, 2026
4924e15
Make the stale connection-check test discriminate on a different outcome
sgardoll Sep 28, 2026
b7830b8
fix(deploy): keep gateway 5xx, repeated sightings and new deploys tru…
sgardoll Sep 28, 2026
c4783ce
fix(modals): preserve scroll lock and focus return across open/replace
sgardoll Sep 28, 2026
81c5982
docs(deploy): align provisioning caller comment with the 4xx/5xx split
sgardoll Sep 28, 2026
5054723
fix: unreproducible dependency_overrides skip verification project-wide
devin-ai-integration[bot] Sep 28, 2026
64b824d
fix: read inline dependency mappings and every URI a directive carries
devin-ai-integration[bot] Sep 28, 2026
28428a2
STU-445: pipeline holding window matches the mock; split Refine/Regen…
sgardoll Sep 28, 2026
f3b5787
fix(paywall): stop passive usage renders from closing an open tour
sgardoll Sep 28, 2026
ec23faf
Fix stale old-key project responses and code-less magic-link failures
sgardoll Sep 28, 2026
8c95c49
STU-445: icon-only header, hero typing demo, composer focus outline
sgardoll Sep 28, 2026
d905954
STU-385: observe the generator request instead of racing it
sgardoll Sep 28, 2026
b888f6f
fix(deploy): name the received HTTP status when a 5xx deploy has no r…
sgardoll Sep 28, 2026
c90038d
fix: let a semicolon inside a quoted URI pass the directive regex
devin-ai-integration[bot] Sep 28, 2026
5a3be97
fix: consume escape pairs so an escaped quote does not end a URI literal
devin-ai-integration[bot] Sep 28, 2026
7047351
Fix stranded project dropdown and false sent state on failed resend
sgardoll Sep 28, 2026
8837514
fix: send sdk: overrides on their own channel and name the wire field…
devin-ai-integration[bot] Sep 28, 2026
5e4b970
fix: do not let the SDK-name filter hide a forked package from verifi…
devin-ai-integration[bot] Sep 28, 2026
7922515
fix: skip package-importing classes when any unrepresentable entry ca…
devin-ai-integration[bot] Sep 28, 2026
b983ed1
STU-445: pipeline DOM order matches the stacked focus order
sgardoll Sep 28, 2026
220f1c8
fix: reassemble flow mappings that wrap onto following lines
devin-ai-integration[bot] Sep 28, 2026
578b32c
fix: write sdk: flutter entries for undeclared SDK imports; skip comp…
devin-ai-integration[bot] Sep 28, 2026
f452125
fix: raw-string import URIs, raiseable {version:} pins, doc updates
devin-ai-integration[bot] Sep 28, 2026
cdf06ef
fix: avoid ReDoS in directive pattern - ride bare-char alternative fo…
devin-ai-integration[bot] Sep 28, 2026
b2670ba
fix: consume quoted literals inside conditions; rewrite whole quoted …
devin-ai-integration[bot] Sep 28, 2026
43a1a02
fix: anchor dependency entries at the name line, not the flow map's c…
devin-ai-integration[bot] Sep 28, 2026
31e2192
fix: scan fixedCode for dependency discovery, matching the deployed c…
devin-ai-integration[bot] Sep 28, 2026
fc4d4ff
fix: match quoted version keys in rewriteVersionMember; report a fail…
devin-ai-integration[bot] Sep 28, 2026
7699c31
fix: consume non-directive string literals so keywords inside them ca…
devin-ai-integration[bot] Sep 28, 2026
9aebdf4
fix: search for the version member after the flow map's opening brace
devin-ai-integration[bot] Sep 28, 2026
4453a82
STU-445: honor live reduced-motion changes in the hero demo
sgardoll Sep 28, 2026
f496402
Bind project selections to the key+endpoint that confirmed them
sgardoll Sep 28, 2026
971ac8b
Merge reviewed landing candidate into exact fidelity feature
sgardoll Sep 28, 2026
43cee4d
Merge reviewed pipeline candidate into exact fidelity feature
sgardoll Sep 28, 2026
ade7206
fix: address review findings on deploy overlay, session state, and di…
devin-ai-integration[bot] Sep 28, 2026
94d820a
test(e2e): poll for the generator request the assertion reads
devin-ai-integration[bot] Sep 28, 2026
37ffe47
fix: keep background dialogs' shared state and the terminal modal's l…
devin-ai-integration[bot] Sep 28, 2026
c76e666
STU-445: match canonical HTML geometry and lifecycle motion
sgardoll Sep 28, 2026
8d51bfc
STU-445: rebuild verified HTML fidelity production assets
sgardoll Sep 28, 2026
80f8aa4
Merge updated milestone into exact HTML fidelity feature
sgardoll Sep 28, 2026
5d040d7
test(e2e): name stored credential fixtures after what they hold
devin-ai-integration[bot] Sep 28, 2026
3573f6c
fix(deploy): keep gateway 5xx, repeated sightings and new deploys tru…
sgardoll Sep 28, 2026
230f6f1
Merge remote-tracking branch 'origin/milestone/stu-implement-updated-…
devin-ai-integration[bot] Sep 28, 2026
2aa640f
Merge milestone/stu-implement-updated-ui-ux into sgardoll/stu445-land…
devin-ai-integration[bot] Sep 28, 2026
6ebe6e9
Merge remote-tracking branch 'origin/milestone/stu-implement-updated-…
devin-ai-integration[bot] Sep 28, 2026
9f21cbe
STU-445: keep the pipeline panel's DOM in its displayed order
devin-ai-integration[bot] Sep 28, 2026
119ef22
Merge milestone/stu-implement-updated-ui-ux into sgardoll/gate-deploy…
sgardoll Sep 28, 2026
83972f1
STU-445: carry focus across the breakpoint reorder
devin-ai-integration[bot] Sep 28, 2026
052d6d9
Merge milestone/stu-implement-updated-ui-ux into sgardoll/gate-modal-…
sgardoll Sep 28, 2026
b69afe7
Merge pull request #72 from sgardoll/fix/stu-368-sdk-source-classific…
devin-ai-integration[bot] Sep 28, 2026
b4276f4
fix: consume multiline strings and YAML comments during directive and…
devin-ai-integration[bot] Sep 28, 2026
57e2426
fix(paywall): drop the superseded dismissWalkthrough opt-in for base'…
sgardoll Sep 28, 2026
0f0be6f
Merge branch 'milestone/stu-implement-updated-ui-ux' into sgardoll/ga…
sgardoll Sep 28, 2026
f151de4
Fix stale-outcome races in shared connection state and stored deploy …
devin-ai-integration[bot] Sep 28, 2026
01a11be
Merge pull request #101 from sgardoll/sgardoll/gate-deploy-truthfulness
sgardoll Sep 28, 2026
a7d3abb
Merge branch 'milestone/stu-implement-updated-ui-ux' into sgardoll/ga…
sgardoll Sep 28, 2026
a2a9e82
Merge pull request #103 from sgardoll/sgardoll/gate-modal-fixes
sgardoll Sep 28, 2026
cbe2f39
Tighten deploy-target verification and confirm-modal staleness
devin-ai-integration[bot] Sep 28, 2026
94f5076
Merge milestone/stu-implement-updated-ui-ux into sgardoll/stu445-land…
devin-ai-integration[bot] Sep 28, 2026
83989b7
Merge pull request #104 from sgardoll/sgardoll/stu445-pipeline-results
sgardoll Sep 28, 2026
f1c819d
Merge pull request #108 from sgardoll/devin/1790610789-post72-review-…
sgardoll Sep 28, 2026
17fa161
Merge commit '80f8aa4f6490b184097be381c3e2c739a94fc7ff' into HEAD
sgardoll Sep 28, 2026
f3dc176
Merge pull request #107 from sgardoll/sgardoll/gate-deploy-truthfulne…
sgardoll Sep 28, 2026
d140194
Merge branch 'milestone/stu-implement-updated-ui-ux' into sgardoll/st…
Sep 28, 2026
683f43d
Pair deploy credentials as one identity; separate outcome vs confirma…
devin-ai-integration[bot] Sep 28, 2026
82a1f8d
fix: hero demo takeover can never submit a partial prompt
devin-ai-integration[bot] Sep 28, 2026
265cb0e
Merge remote-tracking branch 'origin/milestone/stu-implement-updated-…
sgardoll Sep 28, 2026
f95a16d
Merge pull request #102 from sgardoll/sgardoll/gate-auth-connection
sgardoll Sep 28, 2026
790dd48
fix: edits while the demo owns the field never join the example
devin-ai-integration[bot] Sep 28, 2026
988d5a1
test(stu377): fix two focus-order test-harness bugs in the holding wi…
Sep 28, 2026
3bbd238
Merge remote-tracking branch 'origin/milestone/stu-implement-updated-…
sgardoll Sep 28, 2026
2f345f5
build: regenerate dist after re-syncing milestone/stu-implement-updat…
Sep 28, 2026
53d30b4
Merge pull request #106 from sgardoll/sgardoll/stu445-exact-html-fide…
sgardoll Sep 28, 2026
063dcb8
Merge remote-tracking branch 'origin/milestone/stu-implement-updated-…
devin-ai-integration[bot] Sep 28, 2026
d041610
fix: system cancellations and pointer takeovers settle the hero demo
devin-ai-integration[bot] Sep 28, 2026
34d1c0f
Merge pull request #105 from sgardoll/sgardoll/stu445-landing-chrome
sgardoll Sep 28, 2026
61c0282
Merge branch 'main' into milestone/stu-implement-updated-ui-ux
devin-ai-integration[bot] Sep 28, 2026
c22e4bc
docs: align deploy comments with the merged skip-on-unrepresentable rule
devin-ai-integration[bot] Sep 28, 2026
3617f20
test(stu376): give the hero-demo catch budget headroom for slow page …
devin-ai-integration[bot] Sep 28, 2026
3ed7dd8
Merge pull request #110 from sgardoll/devin/stu445-demo-catch-flake
sgardoll Sep 28, 2026
d3f3353
fix(deploy): route the provisioning call through the dev server's sam…
devin-ai-integration[bot] Sep 28, 2026
d68559e
fix(a11y): blur focus stranded inside newly inerted modal background
devin-ai-integration[bot] Sep 28, 2026
aa00529
fix: pipeline progress bar eases inside each stage's slice
devin-ai-integration[bot] Sep 28, 2026
4b82cb1
fix: review follow-ups — freeze fill on failure, done stages land on …
devin-ai-integration[bot] Sep 28, 2026
4b56853
fix: read rendered width before disabling the transition; freeze as t…
devin-ai-integration[bot] Sep 28, 2026
729cd42
test: assert the frozen fill keeps its track share across a resize
devin-ai-integration[bot] Sep 28, 2026
46b1349
Merge pull request #111 from sgardoll/devin/1790621766-smooth-progress
sgardoll Sep 28, 2026
8e1c1cb
fix(results): keep the pasted-errors overlay scrollable on short stages
devin-ai-integration[bot] Sep 28, 2026
f51b60d
fix(pipeline): keep the mobile phase title on the canonical single line
devin-ai-integration[bot] Sep 28, 2026
cd4c657
fix(review): close remaining live bugs from Devin Review on #100
devin-ai-integration[bot] Sep 28, 2026
8a3b09b
fix(review): clear abandoned-run panel and preserve results view on f…
devin-ai-integration[bot] Sep 28, 2026
dc3c488
fix(review): keep submitted images when a model switches mid-preflight
devin-ai-integration[bot] Sep 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 0 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,28 +37,13 @@ jobs:
- name: Build production bundle
run: npm run build

# The test:ui and test:accessibility scripts land with the milestone
# branches; until they do, npm exits "Missing script" and fails the
# required check, so these steps only run when the scripts exist.
- name: Check for browser test suites
id: browser-tests
run: |
node -e '
const s = require("./package.json").scripts;
require("fs").appendFileSync(process.env.GITHUB_OUTPUT,
`ui=${s["test:ui"] ? "yes" : "no"}\naccessibility=${s["test:accessibility"] ? "yes" : "no"}\n`);
'

- name: Install Playwright Chromium
if: steps.browser-tests.outputs.ui == 'yes' || steps.browser-tests.outputs.accessibility == 'yes'
run: npx playwright install chromium --with-deps

- name: Run browser tests
if: steps.browser-tests.outputs.ui == 'yes'
run: npm run test:ui

- name: Run accessibility modal tests
if: steps.browser-tests.outputs.accessibility == 'yes'
run: npm run test:accessibility
Comment on lines 40 to 47

@devin-ai-integration devin-ai-integration Bot Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 Check browser-suite CI budget

CI now runs the full Playwright suite and accessibility checks. Confirm the required job has sufficient time for the deployment scenarios and their fixtures.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.


- name: Run deploy guard
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,6 @@ BUILDSHIP_REVIEW_SYSTEM_PROMPT.txt
BUILDSHIP_REVIEW_SYSTEM_PROMPT_UPDATED.txt
/graphify-out
/.playwright-mcp

# Playwright run artifacts
test-results/
30 changes: 16 additions & 14 deletions DEPLOYMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,15 +92,10 @@ reported rather than silently dropped:
* It imports something FlutterFlow only generates once the app is built -
`/backend/schema/structs/index.dart`, `../flutter_flow/lat_lng.dart`. Those
files do not exist until after the deploy.
* The project declares a dependency from a source this manifest cannot
express - a `git:` or `path:` source, a private `hosted:` block, or a
`dependency_overrides` entry written that way - and the class resolves
packages at all. `pubspec.lock`, the only document recording which packages
that source brings in, never leaves the project, so the unreproducible
package can sit anywhere in the class's transitive closure and an override
can rewrite any name in the graph. The scratch package would resolve
different code, and a check against the wrong version reports a result that
does not describe what ships.
* It imports a package the project declares from a source this manifest cannot
express: a `git:` or `path:` source, or a nested `hosted:` block. The scratch
package would resolve different code, and a check against the wrong version
reports a result that does not describe what ships.

The second case is decided once per deploy, not per class, because a
project-level source can alter resolution for a class that never names it. A
Expand All @@ -111,11 +106,14 @@ nothing through pub and is still compiled.

**Which packages the Flutter SDK supplies is read from the project's own
pubspec** - a dependency written in block form under `sdk:` is an SDK package by
definition. Nothing keeps a list of SDK package names, because a list goes stale
the moment the SDK ships one it has not heard of, and a stale list reads a
perfectly valid package as unreproducible. That is not hypothetical: a list
missing `flutter_web_plugins` refused whole deploys for projects that declared
it.
definition. A small name list still exists, but only for names the pubspec does
not declare at all: a package the code imports and the project lacks is written
as `sdk: flutter` when the SDK supplies it, so discovery never emits a hosted
constraint pub.dev cannot resolve. A name the list has not heard of degrades to
the ordinary hosted lookup, not a wrong answer. For declared dependencies the
list plays no part - the pubspec's own keys are the authority, because a stale
list read a perfectly valid `flutter_web_plugins` declaration as
unreproducible and refused whole deploys over it.

The manifest is sent as package names and version constraints, never as
pubspec.yaml text, and the runner builds the document itself - it runs
Expand Down Expand Up @@ -151,6 +149,10 @@ https://ccc-ffai-runner-y5cyj3473a-uw.a.run.app/deployCustomClasses

Override it at build time with `VITE_FLUTTERFLOW_CLASS_PROVISION_ENDPOINT`.
`VITE_FLUTTERFLOW_DSL_DEPLOY_ENDPOINT` remains accepted for compatibility.
Under `npm run dev` the app instead calls the same-origin path
`/api/ffai-runner/deployCustomClasses`, which the Vite dev server proxies to
the runner — its CORS allowlist admits only the production origin, so a direct
browser call from localhost is rejected before the request reaches it.
Deploy the runner with:

```bash
Expand Down
Loading
Loading