Repository navigation
debugging-workflows: dist-grep, jammed releases, shell noise - #146
Conversation
Adds grep-the-built-dist as the pre-release confidence check when preview is unreliable, jammed-release-pipeline recovery (support ticket + fresh app_id, meta.trace_id from DevTools), and identifying benign Falcon console-shell noise. Field-tested across 6+ production US-2 Foundry apps. Co-Authored-By: Claude Code <noreply@anthropic.com>
mraible
left a comment
There was a problem hiding this comment.
Thanks Dan. The console-shell noise row will save people a lot of time chasing errors that aren't theirs.
CI: the validate job fails because SKILL.md is over the 5,500-token size budget (CI estimates tokens as characters / 4). That budget follows the Agent Skills spec, which recommends keeping the SKILL.md body under 5,000 tokens and 500 lines, since the whole file loads every time the skill triggers. Most skills are already at 96-99% on main, so the fix is to move the long walkthroughs into the skill's references/ folder and leave a one- or two-line pointer in SKILL.md. Common Pitfalls rows can stay short, with the detail in the reference file.
Content:
- Jammed release escape. "Strip the provisioned IDs and deploy as a new app" also needs a new
name. The Manifest Issues section in this file says that dropping the IDs while keeping the name fails withan app with the provided name already exists, and the stuck app still exists here. Please add the rename. - "On some apps the in-console preview is effectively broken." Do you know what makes preview break, such as particular sockets, extensions vs. pages, or a CSP setting? Without that, readers may decide preview never works and skip
foundry ui runentirely. If the cause isn't known yet, I'd keep only the dist-grep tip. - The new tree entry repeats the new section instead of pointing to it the way other leaves do ("see Preview Is Unreliable"), and it's filed under
foundry ui run failseven though the symptom is a released change that doesn't show up. Please also line its arrow up with the others in the tree. - #144 adds the same dist-grep advice to development-workflow. One home for it, linked from the other, would be best.
CI) Relocate three long walkthroughs to references/ with short pointers in SKILL.md: Function Runtime Debugging -> references/function-runtime-debugging.md; App Install Failures + Visual Debugging -> references/install-and-visual-debugging.md. Tighten the Preview/Deployment-Diagnostics prose. SKILL.md 23,813 -> 19,992 chars (~4,998 tokens, under the 5,500 budget). Trim the run-on debugging-workflows 1.7.0 CHANGELOG bullet. Relocated, not deleted. Co-Authored-By: Claude Code <noreply@anthropic.com>
|
Thanks @mraible — size-budget failure fixed. Moved the Function Runtime Debugging loop, App Install Failures, and Visual Debugging walkthroughs into references/ with short pointers; kept the Common Issue Patterns table inline; CHANGELOG trimmed. SKILL.md is now ~19,992 chars (~4,998 tokens), under the 5,500 budget. Relocated, not removed. Ready for re-review. |
mraible
left a comment
There was a problem hiding this comment.
Thanks Dan, the size budget is fixed. The content points from the last review are still open, and there's one new CI problem:
- markdownlint will fail.
references/install-and-visual-debugging.mdnow has two top-level headings (# Debugging App Install Failuresand# Visual Debugging with Screenshots), which trips MD025. Making the second one##fixes it. - Jammed-release escape. "Strip the provisioned IDs and deploy as a new app" still needs a new
nametoo. The stuck app still exists, so keeping the name fails withan app with the provided name already exists. - "On some apps the in-console preview is effectively broken." If you know what triggers it, please say so. If not, I'd keep just the dist-grep tip so readers don't stop using
foundry ui runaltogether. - The tree entry still repeats the section instead of pointing to it ("see Preview Is Unreliable"), still sits under
foundry ui run failsthough the symptom is a released change that doesn't show, and its arrow still doesn't line up with the others. - The dist-grep tip is also in #144. One home, linked from the other.
CI on your latest push is waiting for maintainer approval, so I ran the checks locally: size budget and tests pass, and markdownlint fails as above.
|
Confirmed the MD025 fix: with the second heading changed to |
install-and-visual-debugging.md had two top-level headings; markdownlint MD025/single-title allows only one H1. Demote 'Visual Debugging with Screenshots' to ## so the reference file lints clean in CI. Co-Authored-By: Claude Code <noreply@anthropic.com>
|
Pushed a fix for the failing |
|
Thanks Dan, the size budget and the MD025 fix both look good. The content points from the last review are still open:
CI passes on your latest push, so these content points are all that's left. |
…rop the preview claim A cold deploy that keeps the stuck app's name fails with an app with the provided name already exists, so the escape now gives the new app a new name too. The section no longer says preview is broken on some apps without a known cause; it keeps the dist-grep check, which development-workflow now links to as the single home. The decision-tree entry moves under its own symptom and points to the section, and the install-failure pointer uses Falcon Fusion SOAR.
# Conflicts: # CHANGELOG.md
…dependency order, drop CrowdStrike#146 dependency Reverting the deploy-written IDs makes the next deploy fail with an app with the provided name already exists, as debugging-workflows says, rather than minting a new app. Step 5, Manifest Coordination, and the command block now use one order, with agents before the workflows that can call them, and the routing note points at the command block's new home. The hard-refresh note points to the --diff-only check already on main instead of a section only CrowdStrike#146 adds. The version-number note no longer calls the numbers unrelated or claims --deployment-id takes the deploy number, and --re-deploy is described as --help describes it. Tests pin each.
…f a new app, drop the sitemap reset The bundle check now applies to UI, says to run npm run build when the change is missing from src/dist (deploy ships dist as is), and to hard-refresh when it's present. The jammed-release escape links the yq command that strips the IDs and says the new app must be reinstalled and starts with empty collections. The sitemap row no longer prescribes a tenant navigation reset, which nothing confirms exists. The CHANGELOG entry is plain prose, and tests cover the three recovery steps.
… --diff-only check React blueprints build to dist and Vanilla JS ones to src/dist (6 and 7 of the sample UI paths), so the bundle check now reads the directory from the manifest's path and also offers foundry apps deploy --diff-only before a deploy.
The previous commit's message said React builds to dist and Vanilla JS to src/dist, but the React foundryjs-demo sample uses src/dist; the path varies by app, so the text says only that samples use both.
* development-workflow: operate-an-existing-app lifecycle gotchas Documents the iterate/operate phase: hard-refresh after upgrade (the console caches the built bundle), the three distinct version numbers, --re-deploy replaying the stale bundle, and committing the provisioned IDs the first deploy writes back to manifest.yml. Field-tested across 6+ production US-2 Foundry apps. Co-Authored-By: Claude Code <noreply@anthropic.com> * development-workflow: trim SKILL.md under CI size budget Relocate the long Step 5 capability-create command block, the Step 6 sub-skill-loading table, the Step 7 deploy/release operational blockquotes, and the Multi-Cloud steps into references/advanced-patterns.md (RELOCATED, not deleted), leaving 1-2 line pointers + Reading Guide row. Trim the 1.7.0 CHANGELOG entry. SKILL.md 24,302 -> 19,122 chars (~4,780 tokens), under the 5,500-token / ~22,000-char budget. Co-Authored-By: Claude Code <noreply@anthropic.com> * development-workflow: limit --re-deploy to what --help confirms, fix UI_BUILD wording foundry apps deploy --help describes --re-deploy only as retrying the latest failed deployment, and debugging-workflows says no deployable artifacts found needs an artifact change, so drop the claim that --re-deploy escapes that error. UI_BUILD is the version the release will produce, which is +1 only for a Patch. The dist-grep check now lives in debugging-workflows, and this reference points to it. * development-workflow: match debugging-workflows on reverted IDs, one dependency order, drop #146 dependency Reverting the deploy-written IDs makes the next deploy fail with an app with the provided name already exists, as debugging-workflows says, rather than minting a new app. Step 5, Manifest Coordination, and the command block now use one order, with agents before the workflows that can call them, and the routing note points at the command block's new home. The hard-refresh note points to the --diff-only check already on main instead of a section only #146 adds. The version-number note no longer calls the numbers unrelated or claims --deployment-id takes the deploy number, and --re-deploy is described as --help describes it. Tests pin each. * development-workflow: delete the e2e app before reverting the manifest, scope the rename rule Reverting manifest.yml after an e2e deploy orphans the app, as debugging-workflows says, so step 5 now deletes the app first with foundry apps delete --force-delete --no-prompt, as the functions-python sample's CI does. The rename-only exception applies to a true name collision, not to lost IDs. UI_BUILD, a convention from one codebase, becomes any version string the app shows. The test now checks the delete step instead of an absence that could never fail. --------- Co-authored-by: Claude Code <noreply@anthropic.com> Co-authored-by: Matt Raible <matt.raible@crowdstrike.com>
# Conflicts: # CHANGELOG.md # tests/test_skill_content.py
mraible
left a comment
There was a problem hiding this comment.
Thanks Dan, this is ready to merge.
debugging-workflows had no answer for three things that cost time on live apps. When a released UI fix doesn't show, it now says to grep the built
src/distand rebuild if the change is missing, since deploy shipsdist/as is. When releases stay "In progress", it says to stop retrying, open a support ticket, and, to keep shipping, deploy as a new app under a new name, with the cost of that spelled out. It also lists thedeserializeSitemapanduilogging 400console errors as Falcon console noise, not app errors.To stay within the SKILL.md size budget, the function runtime table, the install-failure steps, and the screenshot guidance move into two new reference files, with pointers left in SKILL.md.