platform open report reconciliation 2026 09 05 - manishiitg/agentworks GitHub Wiki

Full open-report reconciliation — 2026-09-05

G25 follow-up — identity defect fixed, mixed report remains open

PLAT-291 reproduces successful finding persistence followed by automatic merging that deletes the returned public ID. The local repair reuses existing identities and retains aliases across merges. PUL-2F70A97F also contains the underlying LinkedIn invite-flow failure, so it is not closed and no backlog count changes.

Subsequent prompt-health fix — latest status

PLAT-290 reproduces and fixes G26's PUL-07504731 through the registered tool: every probe now reads the current workspace plan instead of a stale controller cache. The exact SQLite report is resolved with prior records preserved; local tests pass, deployment unverified. 77 typed reports remain across 59 investigation groups; 43 of the original 120 are closed. The inventories below are historical snapshots.

Subsequent Substack closure — latest status

PLAT-289 subsequently verified and closed all ten G09 research-folder reports, corrected three stale learning statements and added a real guarded file-write/readback test. The retained September 5 source packets and parent summary reconcile to 57 findings. 78 typed reports now remain open across 60 of the investigation groups below; 42 of the original 120 are closed. The 96-row inventory and earlier result below remain historical snapshots. Growth/drafts and generic cross-file validation are not included.

Result

Compared all 96 remaining typed harness reports against the platform register and current source. Eight exact reports were resolved in SQLite and read-back verified with their resolution events, leaving 88 open. Across the earlier 24 closures and this eight, 32 of the original 120 are closed. New producing runs and deployment verification are not claimed.

The 96 reports form 67 investigation groups, of which 61 retain open reports. These are not counts of confirmed independent bugs: several groups are external, workflow-owned, partially covered, or unresolved. Grouping does not merge SQLite identities or erase observations.

Why old reports cannot all be closed

  • The original PLAT-072 cost fix is not sufficient: PUL-E2BACEEB carries explicit Aug 12 post-fix recurrence evidence in detail_json.
  • PLAT-322 preserves the corrected diagnosis: the defensive tab-owner change does not explain the actual reported message-sequence incident.
  • PLAT-066 explicitly leaves the Hetzner route-selection failure unresolved despite another workflow passing.
  • PUL-C93522E5 refutes its original wrong-folder explanation but still alleges a premature validation gate; it is not simply a false report.
  • get_plan_prompt_health currently reads approvedPlan unless nil; PUL-07504731 therefore has a plausible still-live stale-read path.

Eight exact closures

Workflow Finding Ticket Source/test evidence
build-in-public PUL-0B679A3D PLAT-198 / PLAT-240 Retired verification-marker/allowlist path; no PULSE_VERIFICATION_JSON mechanism remains in Go. Applied-fix/no-later-verification tests and real MCP applied-fix closure test pass.
build-in-public PUL-28FC41E1 PLAT-214 Current RecordPulseReviewFinding reloads exact identity on its write handle. TestPulseFindingIssueIDUpdateReloadsExistingStepFindingAcrossReviewerModule creates an unowned step concern then successfully attaches reviewer evidence without splitting identity.
linkedin PUL-517B83AD PLAT-198 / PLAT-240 The reported record_pulse_verification endpoint is retired. Current dispositions accept public issue identity and no-preexisting-attempt verification; applied-fix and no-attempt history tests pass. Historical scanner receipt is not rewritten.
upwork PUL-565F9ED1 PLAT-206 / PLAT-258 Both recorded halves covered: supplemental Fixer dispositions are accepted after terminal reviewer results; obsolete child-session pulse_review_log completion gate removed. Supplemental result and parent-run terminal/legacy-running-receipt tests pass.
upwork PUL-E19F5F1B PLAT-206 / PLAT-258 Same-run supplemental Fixer dispositions are allowed after reviewer completion, with consistent state/audit and retained previous receipt history. Focused production-tool supplemental/correction tests pass. Old business fixes not reapplied.
upwork PUL-D50AD8BC PLAT-123 / PLAT-211 Superseded tool-registration requirement: record_run_concern and normal CONCERNS scraping were intentionally retired from ordinary step tools. Current default and explicit step-tool exclusion tests pass; do not restore the obsolete tool.
upwork PUL-7B849CC6 PLAT-001 Keyed human input is parsed strictly and copied into isolated per-step contexts; explicit single-step input wins. Current parser, unknown-ID, sibling isolation, map-copy and opening-prompt tests pass. No outward-producing replay was performed.
upwork PUL-DD9EDE3C PLAT-078 / PLAT-200 Snapshot size is bounded with an incompleteness/recovery banner and full-result spill hook. Production spill uses the session-granted tool_output_folder. Browser oversized, virtual-tool spill and every-folder-guard grant tests pass. No live website scan was performed.

Only run_concerns tracking status and appended platform_tracking_resolved events are changed. Every previous concern row and its typed detail snapshot are preserved in event metadata. Old module receipts, business data, workflows, and schedules are untouched. All new code from earlier batches remains local/uncommitted unless separately committed by its owner.

Verification run

  • Server: supplemental Fixer result/rejection tests, legacy-running-receipt and parent-run module validation tests, and TestPulseAppliedFixClosesThroughMCPBridge.
  • Workflow: PulseFindingIssueID, AppliedFix, NoAttemptVerification, ChangedUnverified, RunConcernTool exclusion, ToolOutputFolder, message-sequence schema and managed DB guidance tests.
  • Keyed inputs: TestParseWorkflowStepStringMap, TestExecutionContextForStep, TestUnknownWorkflowStepInputIDs and human-input opening-prompt tests.
  • Browser + virtual tools: oversized/snapshot/spill tests.
  • These local tests pass. They do not execute live posting, trading, browser-account workflows, or historical business repairs.

Grouped worklist

Group Reports Related tickets Disposition / next evidence
G01: Premature automatic final validation PUL-C93522E5 PLAT-189, PLAT-269 related Original diagnosis corrected; unresolved. Finding detail disproves wrong output folder but reports the final-validation gate running before deliberate artifact promotion. Keep that actual timing allegation open.
G02: Required validator tool unavailable PUL-C9BBCF01 PLAT-125, PLAT-189 related Workflow/tool contract unresolved. Step requires a registered validation execution without an exposed accessor. Verify current tool contract and authored instructions; automated final validation is not automatically the requested tool.
G03: Pulse verification path retired PUL-0B679A3D, PUL-517B83AD PLAT-198, PLAT-240 Verified retired. Old marker allowlist and pending-attempt endpoint are gone; current disposition tests pass.
G04: Pulse Fixer terminal-result rejection PUL-565F9ED1, PUL-E19F5F1B PLAT-206, PLAT-258 Verified fixed. Same terminal-result family; first report additionally included the now-retired child-session receipt checker.
G05: Step concern reviewer-identity reload PUL-28FC41E1 PLAT-214 Verified fixed. Exact no-module step-concern update fixture passes.
G06: Retired ordinary-step concern tool PUL-D50AD8BC PLAT-123, PLAT-211 Verified retired. Registration fix was later superseded by intentional removal.
G07: Keyed human input propagation PUL-7B849CC6 PLAT-001 Verified fixed. Per-step copy/validation/prompt tests pass; deployment replay not claimed.
G08: Oversized snapshot recovery PUL-DD9EDE3C PLAT-078, PLAT-200 Verified fixed. Bounded output, recovery guidance, spill and read grants verified.
G09: Substack durable research write contract PUL-AB711AC1, PUL-01F790F3, PUL-5903292F, PUL-137C5EDF, PUL-22656D6C, PUL-F7B23729, PUL-9CE79401, PUL-32C03E39, PUL-B8FC2F51, PUL-224A1885 PLAT-175, PLAT-221, PLAT-257 Shared boundary; unresolved. Ten repeated reports about denied db/research packet writes. Some also try prohibited DDL. Compare stale workflow stores/contracts against supported db/assets before changing any grant; do not allow direct SQLite access.
G10: Substack durable growth write contract PUL-CE5D7AFA, PUL-C00607A6 PLAT-175, PLAT-257 Shared boundary; unresolved. Both report db/growth denied; baseline report additionally alleges fabricated persistent_record success. Verify durable file existence, not just a success literal.
G11: Substack declared DB banner mismatch PUL-B0C1585F PLAT-175, PLAT-257 Related but distinct; unresolved. Explicit broad db banner versus narrow effective grant; its own evidence distinguishes this from stale db/research instructions. Do not merge into research group.
G12: Shared workflow context read projection PUL-8429C778, PUL-95D26C40, PUL-E923640D, PUL-B6864197 PLAT-257, PLAT-261 Partial coverage; needs reproduction. Four related soul/KB/learnings path denials. Current access resolver fixes do not prove the historical path-mapping failures are gone; inspect exact session grants and normalized path.
G13: DB README guidance versus authored contract PUL-69B66D52 PLAT-223 Partial coverage; needs reproduction. Managed boilerplate has a describe fallback, but a workflow-authored mandatory read may remain. Guidance fix is not proof every required path is readable.
G14: DB query transport envelopes PUL-25BDBC42, PUL-76F2EE72, PUL-A14F764F No exact ticket; bridge guidance/test clarified Suspected duplicates; unresolved. Native/MCP raw payload versus raw HTTP success/result is documented/tested. Historical reports claim identical call patterns; actual transport for each call remains unknown.
G15: Automatic eval trigger/producer consumption PUL-86C0991B, PUL-09B52349, PUL-42742C7F PLAT-075, PLAT-091 Related symptoms; unresolved. Compare disable_eval, schedule route/group and finalization order. Upwork also requires an eval inside the producing run window, which may be an impossible workflow dependency; no blanket eval-trigger fix inferred.
G16: Missing Google Sheets capability PUL-45906870, PUL-A9EE4AC3 PLAT-087 related, not an exact fix Suspected duplicate; unresolved. Same consolidate-prepare step and missing Sheets accessor. Verify workflow capability selection versus registered tools before calling it a platform defect.
G17: Scheduled occurrences not fired PUL-24A93F72, PUL-0322D624, PUL-3E984942, PUL-A9401F93 PLAT-041, PLAT-080, PLAT-145, PLAT-191 Related symptoms; unresolved. Not proven one root: examine exact fire-decision records, downtime and lease collisions. New successful occurrences do not explain missing historical fires.
G18: Recovered tool errors promoted as intake findings PUL-115F32AF, PUL-AAC278EF PLAT-056, PLAT-127, PLAT-225 Partial coverage; unresolved. Successful terminal state plus errored tools requires per-call recovery/side-effect evidence. Preserving tool output is not the same as fixing the intake classifier.
G19: Mutable run-folder evidence / retention PUL-C1B267AB, PUL-1EE39C89 PLAT-047, PLAT-089, PLAT-176, PLAT-242 Related but distinct; unresolved. One recent overwritten failed attempt and one historical never-rotated schedule path. Wrong-run error attribution fix does not establish rotation/retention coverage.
G20: Mutable execution cost identity PUL-E2BACEEB, PUL-8E22A469 PLAT-072, PLAT-241 Reopened/partial; unresolved. Build-in-public detail explicitly reports recurrence after PLAT-072 (Aug 12). Social-media embedded run_folder timing metadata is separately deferred in PLAT-241. Do not close from the old UUID fix.
G21: Reflection cost/metadata attribution PUL-C4811EA4, PUL-F2B4C57F PLAT-076, PLAT-166 Partial coverage; unresolved. Execution/reflection separation exists, but these reports require immutable attribution and trustworthy historical contribution metadata.
G22: StockTwits upstream 403s PUL-4CC6EAC4, PUL-74C2F334 No repository fix established External-service reports. Same third-party endpoint failure family; do not relabel upstream availability as a fixed platform bug.
G23: Browser tab churn and close failures PUL-9694792A, PUL-62957A90 PLAT-028, PLAT-235 related Related symptoms; unresolved. Listing/close and creation/churn are not established one root. Capture owner, target ID, listing and action under the same CDP session.
G24: Pending decision orphan PUL-C004DFAF PLAT-021, PLAT-045, PLAT-077 related Unresolved. Need legitimate dismiss/retire for an unlinked duplicate, without fabricating an answer. Existing linked-decision fixes alone are not enough.
G25: New finding success without persistence PUL-2F70A97F PLAT-214 related, not an exact fix Unresolved. Different from cross-module reload failure: reports success with no rows. Trace the exact transport/workflow DB and persisted transaction.
G26: Stale plan prompt-health read PUL-07504731 New code evidence; no exact ticket match Current code suspect. get_plan_prompt_health only reloads when approvedPlan is nil. A populated controller can retain old descriptions after another writer updates disk; keep open for an actual tool regression test.
G27: Tool index versus callable MCP surface PUL-61347449 PLAT-087, PLAT-244, PLAT-247 Partial/retired subtools; unresolved. Some generation tools retired and read_image restored; this does not establish advertised/registered parity for all message-sequence child capabilities.
G28: Image absolute path normalization PUL-8E45EDCB PLAT-007, PLAT-247 Post-fix recurrence; unresolved. Aug 22 recurrence postdates initial normalization work. Requires exact registered tool plus guard/path fixture; do not close from the original Aug 3 fix.
G29: Cross-workflow CDP tab quota PUL-3DC592D9 PLAT-322 Explicitly partial; unresolved. Ticket preserves the corrected hypothesis and states it does not explain the actual message-sequence incident. Keep open despite defensive owner-ID tests.
G30: Tab-scoped network output PUL-9CCE9488 PLAT-224 Third-party CLI defect. Already investigated as upstream agent-browser behavior. Remains tracked, not a repository fix.
G31: Missing run completion response PUL-B898D60C PLAT-103, PLAT-116, PLAT-179 Related lifecycle fixes; unresolved. Need exact provider/session turn evidence to map the completed response to the no-response classifier.
G32: Route selection seeding PUL-05A81CA0 PLAT-066, PLAT-259 Explicitly unresolved. PLAT-066 proves ordinary path works but explicitly leaves the reported Hetzner path unresolved. Routing redesign alone is not closure proof.
G33: Interrupted Pulse recovery PUL-7AC95E26 PLAT-065, PLAT-199, PLAT-258 Partial coverage; unresolved. Report itself confirms old rows became failed, not perpetually running. Determine whether retained failed reviews actually reconcile before calling this closed.
G34: Finalizer watchdog before dispatch PUL-7935F620 PLAT-094, PLAT-095, PLAT-115 Related lifecycle fixes; unresolved. Timestamp and turn identity must prove watchdog cannot terminal commands before their real finalizer starts.
G35: Stale schedule list projection PUL-3565D07C PLAT-080, PLAT-219 Distinct from repaired child failure. get_schedule_runs and durable metadata agree, list_schedules disagrees. Closing PLAT-219 does not fix a separate list projection.
G36: Post-completion narration ungrounded PUL-D0BAC922 PLAT-076, PLAT-125 related Agentic contract/evidence issue. Outputs were correct; inaccurate narration spans reflection/validation/contribution. No deterministic common repair confirmed.
G37: Host gh credential loss PUL-54D7A9FC No exact platform fix established External/host configuration. Verify keyring/account selection; do not change credentials or claim provider outage fixed.
G38: Fallback configuration not applied PUL-5D98671B PLAT-011, PLAT-060 related Current code needs verification. update_tier_fallbacks still exists and depends on tierResolver config. Explicit/profile configuration is a separate path; not retired and not safely closed.
G39: Second execution prepends output PUL-4AD362CD PLAT-023, PLAT-192 related Unresolved. Need exact write tool and payload. General patch safety does not prove a replacement/prepend behavior changed.
G40: STEP_OUTPUT_DIR absent PUL-15E18187 PLAT-006, PLAT-062 related Unresolved. Verify directory creation and path grant on the exact scripted/retry path; cwd fixes alone insufficient.
G41: Empty SQL validation contract PUL-C2CF5E0B PLAT-258 related Workflow contract versus validator. Inspect current validation schema for missing SQL; do not attribute an invalid authored rule to SQLite engine behavior.
G42: Browser open without selecting tab PUL-6C7B04E9 PLAT-231 related Caller contract/recovered. Reported call violates shared-CDP selection requirement and recovered. Leave historical classification unchanged until exact arguments confirm it is not recovery-ID loss.
G43: Upgrade broadcast steals scheduled turn PUL-985F2597 PLAT-095, PLAT-096, PLAT-245 Related lifecycle fixes; unresolved. Verify broadcast injection path and exact originating turn; upgrade fencing alone is not proof schedule slot ownership is fixed.
G44: Ambiguous LinkedIn Connect text PUL-B7F247D3 PLAT-232 related Website targeting contract. Repeated text belongs to distinct people; locator scoping is needed. No evidence platform can infer intended person from bare Connect.
G45: LinkedIn action lacks confirmation PUL-D81BEA7D PLAT-232 related Website/action evidence. Click dispatch success is not connection success. Withholding unconfirmed business writes is correct; needs site-specific reproduction.
G46: Missing payroll data accessor PUL-756634F2 PLAT-087 related Workflow capability/configuration. Required data source is not exposed; distinguish workflow configuration from runtime tool omission. No external DB access attempted.
G47: SQL JSON/local-date validation rejection PUL-AE5325BD PLAT-043, PLAT-126, PLAT-238 related Unresolved exact SQL. Reported json_each/local-date query is not automatically fixed by PRAGMA or REGEXP support. Reproduce exact SQL/validator.
G48: Historical pricing basis missing PUL-0A1AFAF8 PLAT-008, PLAT-081, PLAT-203 Historical evidence gap. New pricing coverage cannot reconstruct absent historical rate basis. Keep uncertainty explicit.
G49: Durable landed-content union unchecked PUL-B20CB8E1 No exact fix established Evidence gap. Need retained query/tool failure for ledger half; current verified items alone do not prove union completeness.
G50: X reciprocal badge instability PUL-007D74F8 PLAT-232 related Website state/targeting. Do not equate dispatch with durable relationship state or bypass confirmation.
G51: X following list scroll plateau PUL-8526B265 No exact repository fix established Website/tool ambiguity. Separate actual viewport movement from page hydration. Related to, not proven same as Upwork scroll failure.
G52: Date-bound action queue empty read PUL-F65412F5 No exact fix established Query/window evidence gap. Compare exact SQL parameters, timezone and transaction with authoritative row; empty query result alone not an engine bug.
G53: Drift merged-alias step mismatch PUL-C28E9B78 PLAT-198, PLAT-258 Related identity work; unresolved. Canonical issue step attribution may not match checked step. Merged-alias reopening tests do not prove drift-receipt checker accepts correct canonical links.
G54: CDP endpoint unavailable PUL-778F87BE PLAT-248 related Host availability/configuration. Browser skill registration does not make an unreachable port reachable; no browser restart attempted.
G55: Message-sequence output contract missing PUL-3237C0D8 PLAT-189, PLAT-269 Likely covered; needs exact fixture. Current first-turn path appends schema and description, but delegated route opening path differs. Do not close on formatting helper tests alone.
G56: Post-completion human_feedback timeout PUL-3792C10D PLAT-139, PLAT-269 Related lifecycle changes; unresolved. todo_task execution was consolidated; exact after-final-validation feedback timeout needs a regression fixture.
G57: Configured tier never selected PUL-7FC528B9 PLAT-060 related Configuration/runtime comparison. Compare effective role/model selection with intended trial; zero Haiku usage alone cannot prove resolver failure.
G58: Shell stderr phrase misclassification PUL-2E197257 PLAT-193, PLAT-225 Different error layers; unresolved. PLAT-193 fixes success/status JSON sniffing, not necessarily permission words in stderr. Preserve output and test exact classifier separately.
G59: Concurrent workflow dispatch misclassified PUL-BB5E62C0 No exact ticket; report points to PUL-371E722E Ownership correction candidate. Text says workflow_issue but structured detail still says harness_issue. Do not mark the concurrency symptom fixed or merge without checking canonical issue.
G60: Server restart interrupts run PUL-31203224 PLAT-029, PLAT-095, PLAT-199 Interruption/recovery evidence. Recorded restart and curl connection refusal are real interruption, not proof of a scheduler launch defect. Determine intended resume guarantees.
G61: Shell heredoc quoting failures PUL-FBF1BE54 PLAT-168 related Caller/transport ambiguity. Need exact submitted command and actual shell bytes. Related quoting guidance is not a transport repair.
G62: Overhead cost buckets merged PUL-A8AB0913 PLAT-226 Confirmed deferred. Ticket explicitly says missing session-kind attribution signal; cannot close from per-execution ledger isolation.
G63: Upwork feed hydration stall PUL-76B0B278 No exact repository fix established External website behavior. Distinct from scroll command no-op; report notes skeleton content despite genuine navigation/recovery.
G64: Browser scroll reports success without movement PUL-2E420094 No exact repository fix established Tool behavior needs reproduction. Its evidence distinguishes this from website hydration: eval movement hydrates successfully. Preserve as distinct root.
G65: Snapshot ref dictionary ordering PUL-B2511806 No exact repository fix established Caller interpretation contract. Object-key order is not DOM sibling order. Verify parent-child evidence rather than deriving person identity from ref ordering.
G66: Search provider auth/output contract PUL-169BD994 PLAT-234, PLAT-246 related Provider/configuration unresolved. Timeout guidance is not a fix for missing workspace auth or non-search output. Need declared capability and actual provider response.
G67: Successful retry retains failed run metadata PUL-9C0D14D3 PLAT-194, PLAT-219, PLAT-242 related Distinct retry reconciliation. First attempt failed and later attempt completed at same schedule completion instant. Wrong-run folder attribution fixes do not prove retry can promote the durable outcome.

Complete 96-report inventory

Every report has one group. Closed means verified internal tracking closure, not deployed reproduction. All other statuses are retained in SQLite; suspected external/workflow ownership is only annotated here until verified.

Workflow Finding Group Tracking disposition Last observation Recorded symptom
build-in-public PUL-E2BACEEB G20 Keep open: Reopened/partial; unresolved 2026-08-12T22:51:38.269298Z The cost-summary reader does not isolate the requested current execution when the canonical iteration/group folder is reused across scheduled runs.
build-in-public PUL-0B679A3D G03 Resolve: verified fixed/retired 2026-08-05T02:22:19.54204Z The Pulse backend generated an empty trusted verification allowlist ([]) for review run 2026-08-05T02-12-47.459Z_schedule-cron--c2e7578f_1785895230524138000 module strategy_auditor, while the same backend's get_pulse_state(view=backlog) returned finding PUL-7D6D85D5 with fix attempt fix-8eadd0f9c81d7a00 in status awaiting_verification and disposition changed_unverified, so an arrived-evidence verification could not be emitted as a PULSE_VERIFICATION_JSON marker and the attempt will be re-presented as unverified next run.
build-in-public PUL-28FC41E1 G05 Resolve: verified fixed/retired 2026-08-11T22:32:01.438253Z Issues created by record_run_concern carry no owning module (module=null, phase=execution/message-sequence/prevalidation). Calling record_pulse_finding with such a visible PUL id and a valid module fails every time with 'recorded Pulse finding could not be reloaded by its internal lifecycle identity'. Issues that carry an owning module accept the identical payload shape. The workflow supplied a valid request: the issue ids come verbatim from get_pulse_state(view='backlog'), and the same call succeeded on PUL-8345B30B, PUL-3A51BAD6, PUL-ABA4E91F, PUL-B3AC1AE3 and PUL-02BBF615 in the same session.
build-in-public PUL-86C0991B G15 Keep open: Related symptoms; unresolved 2026-08-12T22:41:30.938596Z The framework did not run auto-evaluation after a successful workflow execution, leaving the only evaluation report stale across a changed route contract.
build-in-public PUL-115F32AF G18 Keep open: Partial coverage; unresolved 2026-09-03T22:31:01.793291Z Pulse deterministic intake elevates recovered message-sequence child-tool errors without reconciling the exact execution terminal artifacts and durable side effects.
build-in-public PUL-69B66D52 G13 Keep open: Partial coverage; needs reproduction 2026-08-25T00:55:33.556428Z Message-sequence Folder Guard access projection contradicts the declared database contract: step-reddit-scan-draft must read db/README.md, while the enforced read allowlist exposes only db/assets.
build-in-public PUL-B898D60C G31 Keep open: Related lifecycle fixes; unresolved 2026-08-31T02:22:00.231835Z The shared scheduler terminal projection labels a response-bearing completed LinkedIn workflow as produced-no-response/orchestrator_agent_error, the same root previously proven on Reddit.
hetznerssh PUL-05A81CA0 G32 Keep open: Explicitly unresolved 2026-08-10T09:25:18.921232Z route_selections passed to run_full_workflow no longer reach the routing step: the preseed file execution/run-remediation-route/route_selection.json is not written, so run-remediation-route silently falls back to default_route_id.
hetznerssh PUL-7AC95E26 G33 Keep open: Partial coverage; unresolved 2026-08-20T08:47:13.733012Z Re-checked this pass: pulse_review_log currently has zero rows in status='running' (7 completed, 4 failed, 0 running). The three restart-interrupted attempts Gate referenced (2 on 2026-08-09, 1 on 2026-08-10) all show status='failed' with verdict='Pulse interrupted because the server restarted' rather than being stuck at 'running' in the retained snapshot -- meaning whatever detects the restart does eventually mark the row terminal (failed) rather than leaving it silently 'running' forever. I could not directly observe a live interruption window (this is a read-only, point-in-time query), so I cannot confirm or rule out a narrow race between a module's terminal pulse_module_audit receipt and its corresponding pulse_review_log row update during an actual interruption.
hetznerssh PUL-24A93F72 G17 Keep open: Related symptoms; unresolved 2026-08-20T08:47:13.632512Z The primary recurring audit schedule (b2234610-e3a2-49dd-b406-855e4ee878a8, cron '0 9 * * 1' UTC, enabled=true, group production-server) silently skipped its 2026-08-17T09:00:00Z occurrence. schedule-runs.json shows no schedule-cron entry for b2234610 between the 2026-08-10T09:00:53Z cron run and now (2026-08-20); the only two 2026-08-18 executions of this schedule were schedule-manual (operator-triggered), and list_schedules reports the scheduler's own computed Next Run as 2026-08-24T09:00:00Z UTC -- jumping directly past 08-17 without ever firing it, even though the schedule config (cron expression, timezone, enabled flag) is valid and was not changed around that date.
instagram PUL-C93522E5 G01 Keep open: Original diagnosis corrected; unresolved 2026-08-11T09:12:14.827326Z As filed, this issue claimed step-create-reel's validation_schema checks content_package.json in the wrong folder and that 'nothing in the plan copies or symlinks it up'. Both claims are disproven by the artifacts. planning/plan.json step-create-reel description (HARDENING 2026-05-20, item 5) explicitly instructs: 'After a successful delivery ... copy route-compile-package/content_package.json verbatim to $STEP_OUTPUT_DIR/content_package.json. Never synthesize a fallback package.' Item 4 further requires the promoted copy to be checked against durable terminal state (ready_to_post==true, finalized conformance passed, delivery_result.success==true, and a non-null posts.email_message_id) BEFORE promotion. The orchestrator followed this: route-compile-package wrote its copy at 14:14, delivery completed 14:16, and the identical 22786-byte file appeared under execution/step-create-reel/ at 14:18, after which the final-gate validation passed 60/60. The wasted attempts come from the platform's automatic_final_validation prevalidation phase evaluating $STEP_OUTPUT_DIR before the orchestrator has reached that deliberately-last action. Same root cause as retained bug_review F11 (recurring since 2026-07-24).
instagram PUL-8E45EDCB G28 Keep open: Post-fix recurrence; unresolved 2026-08-22T17:38:29.487657Z This finding was scoped to route-build-carousel with next_check gated on a carousel-format run. Today's run reproduced the identical defect in a different step on the reel pipeline: route-fix-illustrations' read_image call (PUL-1A9373A3) 'consistently rejected a valid full-absolute workspace-docs path with "must be a full absolute path... got relative path" (stripping the docs-root prefix internally before re-validating)'. This is independent of route-build-carousel and the carousel format, so the original next_check ('first producing run whose format_decision.final_post_format=carousel') is no longer the only or best reproduction path -- the defect is general to read_image path validation, reproducible on any route/format.
instagram PUL-61347449 G27 Keep open: Partial/retired subtools; unresolved 2026-08-11T09:15:04.309152Z The sub-agent session prompt lists workspace_advanced, workspace_browser and workflow_db with their full tool rosters, but at call time the servers have no registered tools and the call fails with 'tools_unavailable ... MCP server(s) [workspace_advanced workspace_browser] are configured but currently have zero registered tools (failed to start or connect)'. Four backlog issues are separate symptoms of this one defect: PUL-61347449 (generate_music unreachable in route-build-video), PUL-46E5BB12 and PUL-B9CA19CB (workflow_db unreachable, harness halves only), and today's new read_image unavailability inside route-generate-illustrations. Distinguish it from PUL-8E45EDCB, which is a different defect: there read_image WAS registered and rejected valid absolute paths as relative. For DB access a workflow-level workaround exists and works ($MCP_CUSTOM HTTP route; used by every route this run). For binary-output tools there is no equivalent, which is why the orchestrator had to generate the music bed itself.
instagram PUL-7935F620 G34 Keep open: Related lifecycle fixes; unresolved 2026-08-11T09:50:30.541355Z pulse_final_command_state for pulse_run_id=schedule-manual--bae435e5_1786432476119732000 shows backup/publish/notify all status=failed, started_at==finished_at==2026-08-11T09:48:06Z, reason='Finalizer ended without recording this command's outcome' -- a watchdog-authored row, not a real Finalizer attempt. This Finalizer turn is the first and only turn to call record_pulse_result(command=...) for this pulse run; the watchdog fired before it started, at a ~76s gap from the prior stage's own completion timestamp, which is implausibly short for a normal inter-turn scheduling delay and suggests either the watchdog timeout is too aggressive or it is not correctly anchored to 'Finalizer turn started' vs 'prior stage completed'.
instagram PUL-3DC592D9 G29 Keep open: Explicitly partial; unresolved 2026-08-22T17:57:14.148453Z Shared CDP browser tab cap (max 4 labeled tabs) is shared across unrelated concurrent workflows, so route-pick-topic can be blocked from ever creating a discovery tab when other workflows already hold the 4 slots.
linkedin PUL-3565D07C G35 Keep open: Distinct from repaired child failure 2026-08-06T15:48:38.48465Z list_schedules reports the completed 2026-08-06 Engage run as still running and leaves next_run in the past, while get_schedule_runs and run_metadata both record success.
linkedin PUL-517B83AD G03 Resolve: verified fixed/retired 2026-08-27T12:16:56.604895Z Pulse lifecycle identity and pending-attempt resolution still reject a matured passed verification for an active public issue.
latency-report PUL-D0BAC922 G36 Keep open: Agentic contract/evidence issue 2026-08-12T02:02:55.667345Z ONE root cause, not six bugs: the platform's post-completion narration turns are not grounded in the step's produced artifacts. In every instance the step's actual output was CORRECT -- the JSON, the DB rows and the delivery ledger were all right. Only the narration describing that output was wrong, and it was wrong in the specific direction of inventing plausible round numbers and states rather than reading the file. This spans three distinct turn types (scripted-step reflection, message_sequence automatic_final_validation repair, learnings-contribution), which is why it cannot be attributed to any single step's prompt. Verified instances: (1) step-ingest-notion-feedback repair-1 claimed 16 tickets/1 new comment; notion_feedback.json says tickets_scanned=30, new_comments=4. (2) step-daily-latency-collect-prod-voice reflection claimed 32 turns/4 sessions/100% English; prod_voice_metrics.json says total_turns=67, total_sessions=1, by_language hebrew=67, english=0. (3) step-daily-latency-collect-dev-voice reflection claimed 64 turns/4 sessions/full coverage; dev_voice_metrics.json says total_turns=0, total_sessions=0, low_traffic=true -- a genuine zero-traffic day narrated as a busy one. (4) step-daily-digest-email's final repair-1 notification claimed digest_delivery.json shows status=dry_run and no delivery was attempted, consistent with DIGEST_DELIVERY_MODE=dry-run; variables.json sets DIGEST_DELIVERY_MODE=live and digest_delivery.json shows delivered=true/status=delivered/sent_at=2026-08-12T06:39:30Z. This one is a full fabrication of both the variable and the artifact. (5) step-daily-security-sweep's learnings-contribution turn claimed to have ADDED two false-positive classes (regex.exec, CloudFormation SecurityGroupEgress); both are dated 'Verified 2026-08-11' in learnings/_global/references/security-sweep.md and pre-date the run -- notably the turn DID add two genuinely new 2026-08-12-dated entries, so the work was real and only the attribution was invented. (6) step-daily-security-sweep filed a record_run_concern asserting a knowledgebase READ-access prompt/guard contradiction, quoting prompt text that does not exist (rejected this pass as PUL-79A4C2F8 with the rendered-prompt evidence).
latency-report PUL-25BDBC42 G14 Keep open: Suspected duplicates; unresolved 2026-08-13T06:10:20.716345Z query_workflow_db returns inconsistent response shapes across calls in the same run - sometimes the parsed {columns,rows} object directly, sometimes a double-encoded {success:true, result:""} wrapper - for the same action=query call shape
latency-report PUL-54D7A9FC G37 Keep open: External/host configuration 2026-08-18T23:46:45.765539Z gh CLI host keyring loses/omits the mpexample account between runs, silently reducing GitHub org visibility to ~1 public repo
latency-report PUL-5D98671B G38 Keep open: Current code needs verification 2026-08-25T05:15:48.120222Z update_tier_fallbacks silently no-ops under the workflow's current provider_profile llm_config shape. The real per-role fallback mechanism is set_workflow_llm_config(mode=explicit, ...), which a prior Pulse session found returned ACCESS DENIED.
latency-report PUL-4AD362CD G39 Keep open: Unresolved 2026-08-21T00:35:49.467435Z A second, tool-outage-degraded execution pass of step-daily-latency-report persisted output by prepending it to existing good files instead of replacing them.
latency-report PUL-15E18187 G40 Keep open: Unresolved 2026-08-27T23:58:18.785684Z step-daily-sprint-progress previously crashed writing sprint_progress.json to STEP_OUTPUT_DIR with FileNotFoundError even though the folder is documented as pre-existing
salesoutreach PUL-C2CF5E0B G41 Keep open: Workflow contract versus validator 2026-08-24T11:25:00.707818Z The automatic_final_validation gate for step-check-email-infrastructure has a db validation rule with an empty/missing sql query, so the gate fails unconditionally regardless of the actual state of the tables the step writes to.
salesoutreach PUL-6C7B04E9 G42 Keep open: Caller contract/recovered 2026-08-29T12:28:21.643679Z agent_browser open called before selecting/creating a CDP tab ("CDP shared-browser mode requires selecting or creating a tab before open") recurred once in step-research-and-draft-outreach iteration-1 on the 2026-08-28 run; the agent recovered within the same iteration.
salesoutreach PUL-985F2597 G43 Keep open: Related lifecycle fixes; unresolved 2026-08-26T15:12:00.001785Z A platform contract-upgrade broadcast is able to occupy a scheduled cron-triggered workshop sessions turn slot ahead of that schedules own configured message, causing the schedules real work to never execute and the run to time out and error instead.
salesoutreach PUL-C1B267AB G19 Keep open: Related but distinct; unresolved 2026-09-04T04:37:49.53588Z Run folders are overwritten in place rather than rotated per completed run. Previously this caused stale old-failure metadata to resurface in deterministic scans (dubai-real-estate). Here the flip side occurred: a genuinely new failed run (manual verification run, started 2026-09-03T16:33:15Z, failed 16:51:22Z, ~18min, not a cron schedule) reached steps 1-4 successfully then failed at/after step-prepare-linkedin-engagement, but ALL evidence for that step (execution/ and logs/.../execution/ artifacts) was overwritten in place ~11.5h later by todays successful schedule 2d8c4f44 run (087289e4, 2026-09-04T04:00:26-04:23:52Z, status=success, covers usa-professional-services), before Technical Review could inspect why the original run failed.
salesoutreach PUL-AAC278EF G18 Keep open: Partial coverage; unresolved 2026-09-01T11:47:29.577853Z Deterministic-intake runtime_status_disagreement signals (completed runs with nonzero tools.errored_count) recur across multiple steps/runs; each instance needs to be checked for real data-integrity impact rather than assumed benign.
salesoutreach PUL-B7F247D3 G44 Keep open: Website targeting contract 2026-08-28T04:23:26.402287Z LinkedIn profile UI has duplicate visible-text ("Connect") controls in the same viewport -- the target person's own Connect option (inside their top-card More menu) and unrelated sidebar "Invite X to connect" suggestions -- so a text-based DOM query for a button/link with exact innerText "Connect" is ambiguous and can click the wrong person's control.
salesoutreach PUL-2F70A97F G25 Keep open: Unresolved 2026-08-31T04:51:35.046592Z Retry of the identical record_pulse_finding call whose first attempt (this same pass) returned a success envelope (issue_id PUL-7AC60412, status open) but persisted no row in pulse_finding_details, pulse_finding_events, or run_concerns for that issue_id -- confirmed by direct query immediately after. Retrying to determine whether this was a one-off transient or a reliable non-persistence pattern for issue_kind=harness_issue plus a populated reproduction object.
salesoutreach PUL-D81BEA7D G45 Keep open: Website/action evidence 2026-08-31T11:27:34.809419Z Recurring LinkedIn UI unreliability: the plain-connect click via profile More > Connect menuitem produces no observable success signal (no dialog, no confirmation), so the agent correctly withholds the outreach_activity write per the never-fabricate-unconfirmed-action rule, but this means real connection_request throughput is silently near-zero across runs even though the step logic is correct.
sheet-analysis PUL-45906870 G16 Keep open: Suspected duplicate; unresolved 2026-08-21T12:11:22.348247Z consolidate-prepare step has no Google Sheets access tool (no google_sheets MCP server, no browser tool) registered for its session
sheet-analysis PUL-A9EE4AC3 G16 Keep open: Suspected duplicate; unresolved 2026-08-21T12:13:49.738936Z consolidate-prepare step has no Google Sheets MCP tool registered in its session, so it cannot perform any of the required live Sheets reads/writes
sheet-analysis PUL-756634F2 G46 Keep open: Workflow capability/configuration 2026-08-21T13:58:46.248868Z verification step tool set lacks any accessor for public.historical_payroll_snapshots / public.payslips required by the Salary and financial summary section
social-media PUL-AE5325BD G47 Keep open: Unresolved exact SQL 2026-08-19T07:35:54.545544Z The managed DB validator rejects the exact profile-conversion validation SQL using json_each and local-date evaluation even after the required signal is persisted.
social-media PUL-8E22A469 G20 Keep open: Reopened/partial; unresolved 2026-08-20T17:05:15.468579Z Cost attribution remains keyed by mutable run-folder identity rather than an immutable execution identity, even when archived folder summaries differ correctly.
social-media PUL-C4811EA4 G21 Keep open: Partial coverage; unresolved 2026-08-20T17:10:13.248453Z Reflection usage remains unattributed to immutable executions, so its cost and contribution yield cannot be judged.
social-media PUL-0A1AFAF8 G48 Keep open: Historical evidence gap 2026-08-20T17:10:13.531807Z Pre-2026-07-28 ledgers remain incomparable with current cache-priced ledgers because historical pricing basis is absent.
social-media PUL-B20CB8E1 G49 Keep open: Evidence gap 2026-08-21T22:16:53.937159Z The durable-ledger half of the required landed-content union could not be independently checked; the report relied on verified current-run items.
social-media PUL-007D74F8 G50 Keep open: Website state/targeting 2026-08-22T13:35:55.090765Z X reciprocal-follow badge state can be inconsistent across the unfollow flow and permit a temporary unfollow before the relationship is restored
social-media PUL-8429C778 G12 Keep open: Partial coverage; needs reproduction 2026-08-25T08:48:17.533007Z Runtime path guard denies workflow-context reads during target-reply execution despite the step declaring those context roots readable
social-media PUL-C9BBCF01 G02 Keep open: Workflow/tool contract unresolved 2026-08-25T09:58:17.858887Z The execute-verify step requires one registered validation run, but no registered validator tool is exposed in the session.
social-media PUL-8526B265 G51 Keep open: Website/tool ambiguity 2026-08-25T10:15:21.106121Z X following-list scrolling can plateau at only the first 10 oldest-available rows despite continued scrolling
social-media PUL-09B52349 G15 Keep open: Related symptoms; unresolved 2026-09-02T04:32:48.026243Z A current measure producer exists and the evaluator is correctly route-scoped, but no natural evaluation execution has consumed it.
social-media PUL-95D26C40 G12 Keep open: Partial coverage; needs reproduction 2026-08-26T15:45:09.675574Z Declared mandatory reads for soul, knowledgebase context, and db README cannot be completed under the active folder guard
social-media PUL-F65412F5 G52 Keep open: Query/window evidence gap 2026-08-26T16:00:11.898708Z The initial bounded current-cycle action_queue reconciliation query returned no rows even though the authoritative date-bound queue row was readable for refresh
social-media PUL-E923640D G12 Keep open: Partial coverage; needs reproduction 2026-08-27T07:50:10.19017Z Direct reads of allowed workflow soul, knowledgebase, and learnings paths can be denied by runtime path mapping during an execution step.
social-media PUL-C28E9B78 G53 Keep open: Related identity work; unresolved 2026-08-31T16:45:22.945306Z PUL-75A58FDA was merged into PUL-A6A7E11E, but record_plan_drift_review rejects the canonical issue for step-0-browser-router while record_pulse_finding refuses to reopen the merged exact-step alias.
substack PUL-CE5D7AFA G10 Keep open: Shared boundary; unresolved 2026-09-01T04:47:46.00929Z Real, currently-active recurrence of closed/suppressed PUL-CE5D7AFA: step-growth-baseline's enforced session Folder Guard excludes db/growth/ from writable paths, contradicting its own step-description contract ("Also write the same record to db/growth/YYYY-MM-DD-baseline.json. Create db/growth if needed"). The step silently emitted a fabricated persistent_record success literal ("db/growth/2026-09-01-baseline.json") when the real write was denied, and the automatic pre_validation only checks the local execution-folder copy, not the durable db path, so the false-success claim goes undetected by normal validation.
substack PUL-AB711AC1 G09 Keep open: Shared boundary; unresolved 2026-08-24T02:53:07.179289Z step-check-reddit is instructed to write the durable dated packet to db/research/YYYY-MM-DD-reddit.json, but this step's folder guard excludes db/research/ from Allowed WRITE, and mutate_workflow_db explicitly rejects the CREATE TABLE needed to establish a new per-date reddit table ('schema changes use workflow migrations').
substack PUL-01F790F3 G09 Keep open: Shared boundary; unresolved 2026-08-24T02:53:27.290047Z step-check-hn folder guard denies write access to db/research/ entirely, so the durable HN packet the step contract requires (db/research/YYYY-MM-DD-hackernews.json) can never actually be created by this step, even though the automatic validator only checks literal string values inside hn_findings.json persistent_record and therefore passes anyway
substack PUL-5903292F G09 Keep open: Shared boundary; unresolved 2026-08-24T03:02:01.102927Z step-check-x cannot write to db/research/ despite its declared output contract and the final-validation regex requiring a db/research/ path
substack PUL-C00607A6 G10 Keep open: Shared boundary; unresolved 2026-08-24T04:59:20.346143Z step-post-standalone-note reflection-turn description requires writing db/growth/YYYY-MM-DD-standalone-note-cadence.json, but the step folder guard never grants write access to db/growth/ for this route
substack PUL-137C5EDF G09 Keep open: Shared boundary; unresolved 2026-08-25T02:51:04.500319Z step-check-hn cannot durably write db/research/YYYY-MM-DD-hackernews.json: the folder guard denies shell writes and diff_patch_workspace_file writes under db/research/, and mutate_workflow_db rejects CREATE TABLE for a same-dated mirror table with 'schema changes use workflow migrations', so the step-authored durable packet never lands in the persistent store.
substack PUL-22656D6C G09 Keep open: Shared boundary; unresolved 2026-08-25T02:55:17.177094Z step-check-x (X/Twitter research sub-agent) is instructed to write db/research/YYYY-MM-DD-x_twitter.json directly, but its folder-guard write scope never includes db/research/, only its own step folder, Downloads, db/assets, and learnings/_global.
substack PUL-F7B23729 G09 Keep open: Shared boundary; unresolved 2026-08-27T02:50:22.607122Z step-check-hn folder guard denies write access to db/research/, blocking the sub-agent from materializing its own durable YYYY-MM-DD-hackernews.json packet
substack PUL-9CE79401 G09 Keep open: Shared boundary; unresolved 2026-08-27T02:50:28.355406Z Reddit source-research sub-agent write scope excludes db/research/, so the durable per-date research packet cannot be materialized directly by this step
substack PUL-32C03E39 G09 Keep open: Shared boundary; unresolved 2026-08-27T02:56:14.103326Z Source-research sub-agent step folder guards exclude db/research/ from Allowed WRITE, but orchestrator/step instructions and stores.md still direct sub-agents to write durable packets directly to db/research/YYYY-MM-DD-.json
substack PUL-9694792A G23 Keep open: Related symptoms; unresolved 2026-08-27T02:56:28.949611Z agent_browser 'tab close ' fails to close a tab that the immediately-preceding 'tab' (no args) listing confirmed as active and owned by this route's own label
substack PUL-B8FC2F51 G09 Keep open: Shared boundary; unresolved 2026-08-27T02:59:08.982658Z Source-research sub-agent routes (reddit/x_twitter/hackernews/websearch) folder guard denies direct writes to db/research/, forcing them to write a fallback copy to db/assets/ and set persistent_record success literals before the file exists at its documented db/research/ path.
substack PUL-3237C0D8 G55 Keep open: Likely covered; needs exact fixture 2026-08-27T04:58:51.599984Z Execution-turn prompt for step-connect-creators shows only the output filename, not the step description own detailed Output connect_result.json required-field list, so pre-validation fails on the first pass for fields never surfaced at execution time.
substack PUL-778F87BE G54 Keep open: Host availability/configuration 2026-08-28T02:57:23.995451Z agent_browser CDP (port 9222) unreachable, forcing an undocumented RSS fallback
substack PUL-224A1885 G09 Keep open: Shared boundary; unresolved 2026-08-28T03:00:29.681392Z step-check-hn's enforced write allowlist excludes db/research, but its own hn_findings.json validation gate requires persistent_record.path to literally match db/research/YYYY-MM-DD-hackernews.json with status 'exists' and verified_after_write 'yes'
substack PUL-3792C10D G56 Keep open: Related lifecycle changes; unresolved 2026-08-31T03:08:49.847507Z todo_task orchestrator finalization can (intermittently) report execution status=failed via a post-completion human_feedback timeout even when the orchestrators own work and final-gate validation already passed cleanly.
substack PUL-B0C1585F G11 Keep open: Related but distinct; unresolved 2026-09-01T04:21:26.887043Z Runtime ACCESS DENIED: writable folders for this session were only step-write-article, Downloads, db/assets, and /Users/mipl/Downloads -- db/drafts/ was excluded despite the banner claiming db. get_step_prompts(step-publish) shows the identical generic 'Allowed WRITE: ... db' banner text, so this is not a step-description problem; it is a declared-vs-enforced ACL mismatch in the platform harness. Distinct from PUL-32C03E39/PUL-AB711AC1 (db/research/, consistently narrow-by-design, no declared-grant contradiction, fixed by redirecting stale step text to the already-real db/assets/research/ location). db/drafts/ is not stale or dead -- 7 other drafts (some published with real Substack post IDs) already live there and step-publish/step-revise-draft depend on that exact location, so redirecting the canonical path was rejected as disproportionate for this pass.
tectonicusadaytrading PUL-7FC528B9 G57 Keep open: Configuration/runtime comparison 2026-08-20T20:38:22.796701Z Configured claude-haiku-4-5-20251001 tier trial for daily-signals still shows zero usage; every step across all 4 execution ledgers for 2026-08-20 ran on claude-sonnet-5 only.
tectonicusadaytrading PUL-2E197257 G58 Keep open: Different error layers; unresolved 2026-08-14T17:25:36.594095Z execute_shell_command classifies a call as failed based on stderr content (permission/authorization-denial phrases) even when the underlying script completed successfully and its DB write landed, giving no stdout/stderr back to the caller
tectonicusadaytrading PUL-0322D624 G17 Keep open: Related symptoms; unresolved 2026-08-17T20:10:36.175455Z BOUNDARY REACHED AND WORSE THAN RECORDED: the close pass did not merely execute canceled turns, it did not fire at all on 2026-08-17 - the third consecutive weekday no-fire.
tectonicusadaytrading PUL-BB5E62C0 G59 Keep open: Ownership correction candidate 2026-08-17T20:07:26.950723Z The second collect_social.py execution was not an execute_shell_command retry: it was a second, concurrent daily-signals orchestrator dispatching collect-social into the same run folder. Reclassifying from harness_issue to workflow_issue and attaching it to PUL-371E722E.
tectonicusadaytrading PUL-31203224 G60 Keep open: Interruption/recovery evidence 2026-08-18T17:15:37.134984Z schedule-runs.json records the 2026-08-18T15:00:26Z run of schedule 9db4dc39 as status='error' with the platform-authored message 'interrupted: server restarted' and duration_ms=null. The identical record exists for 2026-08-12T13:55:56.256Z on the same schedule. During the restart window the bridge daemon at 127.0.0.1:18743 stopped listening, which is what collect-price's curl exit 7 'after 0 ms' actually measured.
tectonicusadaytrading PUL-4CC6EAC4 G22 Keep open: External-service reports 2026-08-20T18:00:45.194843Z StockTwits RapidAPI (stocktwits.p.rapidapi.com) intermittently returns HTTP 403 (curl exit 56, non-Cloudflare) for a double-digit fraction of the 19-symbol watchlist within collect_social.py, with a different symbol subset failing each occurrence
tectonicusadaytrading PUL-74C2F334 G22 Keep open: External-service reports 2026-08-21T16:19:09.542256Z StockTwits RapidAPI stream endpoint intermittently returns HTTP 403 (curl exit 56, non-Cloudflare) for a large fraction of watchlist symbols per run, independent of the User-Agent/curl fix already in place
tectonicusadaytrading PUL-3E984942 G17 Keep open: Related symptoms; unresolved 2026-08-26T20:51:44.473679Z 9db4dc39 intermittently fails to fire all 3 scheduled slots on a given day, no backfill; owner=platform, external_action_required.
tectonicusadaytrading PUL-FBF1BE54 G61 Keep open: Caller/transport ambiguity 2026-08-27T20:47:36.080886Z iteration-130 (2026-08-27, first-of-day fire): daily-signals timing.json shows 19 of 47 tool calls errored, 11 of which are execute_shell_command heredoc-drafting attempts that fail with exit_code=2 specifically when the body text contains an apostrophe, an ampersand (nohup ... AND background operator), or an embedded quoted substring (a literal semicolon-true fragment). The orchestrator converges on a working phrasing only after removing every such character from the composed instructions text, at call 43 of 47.
upwork PUL-7B849CC6 G07 Resolve: verified fixed/retired 2026-08-03T04:51:49.879299Z run_full_workflow dropped the search-find-and-shortlist human_inputs override, so the Aug 3 search scanned Most Recent despite an explicit two-feed run limit
upwork PUL-DD9EDE3C G08 Resolve: verified fixed/retired 2026-08-07T17:16:03.820207Z agent_browser snapshot results continue to overflow the tool-result size limit post-v1.0.21-purification (toptal-scan-jobs 68,223 chars, search-find-and-shortlist 130,705 chars on 2026-08-07), and the spilled-result fallback read also fails as outside every workspace root. learnings/_global/SKILL.md's 'read a slice' rule covers reference files and shell output but has no snapshot-scoping recipe.
upwork PUL-42742C7F G15 Keep open: Related symptoms; unresolved 2026-08-24T18:14:37.837724Z bid-pick-job skip_reason closed-vocabulary compound boundary clause (b) requires a fresh eval_results row for group_name=daily-bid, step_id=eval-bid inside a daily-bid runs own window. Checked after the 2026-08-24T15:58-16:35Z daily-bid run: the newest eval_results row for group_name=daily-bid, step_id=eval-bid is still generated_at=2026-08-21T21:54:33+05:30, unchanged since before the prior check on 2026-08-17. Clause (b) has now failed to mature across at least 4 subsequent daily-bid runs (2026-08-22, and 2x 2026-08-24), consistent with the already-cross-referenced platform eval-trigger gap (PUL-E67413EC).
upwork PUL-F2B4C57F G21 Keep open: Partial coverage; unresolved 2026-08-17T19:43:02.537929Z Unchanged root, re-open condition CHECKED this pass and NOT met. The recorded re-measurement stands: the missing-metadata half is a harness measurement gap the workflow cannot write, not a contribution-yield problem.
upwork PUL-D50AD8BC G06 Resolve: verified fixed/retired 2026-08-12T09:18:04.849572Z record_run_concern is not registered in the step-runner tool profile, so a step that discovers a durable engineering defect mid-run has no way to file it and must downgrade the finding to a free-text CONCERNS line.
upwork PUL-A8AB0913 G62 Keep open: Confirmed deferred 2026-08-12T17:45:54.499724Z Recording the change so a future Ops pass does not re-derive a claim that is now half wrong. costs/execution/ungrouped/2026-08-12.json is no longer a single date-wide blob - it holds 2 discrete execution records, each with its own execution_id, token_usage.created_at and attribution rows. Per-execution isolation therefore now works. What has NOT changed is the finding's core claim: both records attribute 100% of spend to a single 'workflow_orchestrator:workflow_orchestrator' bucket, so orchestrator, builder and Pulse cost remain indistinguishable. The 17:25:31Z record is this Pulse pass's own $36.12 landing in the orchestrator bucket, which is exactly the conflation described. Suppression stands - the reopen condition (separable buckets) is not met.
upwork PUL-76F2EE72 G14 Keep open: Suspected duplicates; unresolved 2026-08-19T18:19:59.629432Z The managed query_workflow_db tool returns two different JSON shapes for the same call pattern -- a flat {columns,rows} shape and a wrapped {success,result:''} shape -- with no documented trigger, and only one workflow step's own retry loop currently defends against it.
upwork PUL-A14F764F G14 Keep open: Suspected duplicates; unresolved 2026-08-29T18:13:47.504804Z query_workflow_db still returns both flat columns/rows and wrapped success/result envelopes for valid read calls, so callers cannot rely on one declared response shape.
upwork PUL-76B0B278 G63 Keep open: External website behavior 2026-08-20T15:52:01.679773Z Upwork's find-work feed tabs (Best Matches, Most Recent, My Feed) repeatedly hydrate only ~2 of the ~21-40 rendered card DOM slots into real content; the rest remain 4-character skeleton placeholders even after every documented recovery technique.
upwork PUL-62957A90 G23 Keep open: Related symptoms; unresolved 2026-08-22T18:36:05.159301Z Single occurrence in a busy shared-CDP session with rapid tab churn; plausibly a race between tab creation and id reassignment rather than a persistent defect. No workflow-side fix exists since this is agent_browser tool behavior, not plan.json/step_config.
upwork PUL-2E420094 G64 Keep open: Tool behavior needs reproduction 2026-08-23T18:40:00.392485Z Judged distinct from the existing browser-hydration-stall root cause: PUL-8DC7E43C (target_key upwork.com:find-work-feed-tab-virtualization, already linking recurrences PUL-76B0B278 and PUL-832D635C) describes Upwork's OWN virtualization failing to hydrate cards even after genuine scroll/reload/fresh-navigation -- an external, Upwork-side stall. This finding's root cause is different and narrower: the agent_browser TOOL's own scroll command reported success without actually moving the viewport at all; when the viewport genuinely moved (via the eval fallback), Upwork hydrated fully and immediately. That is the opposite failure mode from PUL-8DC7E43C's persistent stall despite real scrolling, so this is not the same root cause and should not be merged into it. It also surfaces a real self-contradiction inside the shared learnings file: the 2026-08-08 entry in learnings/_global/references/selectors.md states the dedicated scroll command reliably hydrates while eval scrollBy does not; this run found the exact opposite. The file was amended 2026-08-22 to document both outcomes and a verify-then-fallback decision rule, but the underlying tool behavior itself (why scroll silently no-ops in some sessions) remains unresolved and unowned by any workflow tool.
upwork PUL-A9401F93 G17 Keep open: Related symptoms; unresolved 2026-08-27T18:14:33.618612Z The intermittent scheduler-silent-skip root remains unclosed, but 2026-08-27 produced real schedule-run records and retained run folders for both affected schedules, so the current failures are not silent skips.
upwork PUL-C004DFAF G24 Keep open: Unresolved 2026-08-22T18:57:49.010951Z Duplicate pending decision card for the same strategic question, and no tool exists to retire the unlinked orphan without fabricating an answer.
upwork PUL-565F9ED1 G04 Resolve: verified fixed/retired 2026-08-24T02:25:16.255269Z record_pulse_result for module=technical_review is permanently blocked for this pulse_run_id because the reviewer's own terminal receipt (result=done) was written before Fixer work began, under the single-terminal-per-(module,pulse_run_id) constraint. A Fixer that repairs findings after the reviewer's terminal receipt has no typed path to flip their disposition out of queued_for_engineering.
upwork PUL-B2511806 G65 Keep open: Caller interpretation contract 2026-08-23T00:42:55.565473Z agent_browser snapshot refs{} dictionary key order is not a reliable proxy for DOM/tree sibling order, causing badge-to-entity misattribution on list pages with repeated sibling blocks unless the nested snapshot tree text or the individual detail page is used to resolve the actual parent-child relationship.
upwork PUL-169BD994 G66 Keep open: Provider/configuration unresolved 2026-08-23T00:54:56.359213Z search_web_llm's default/first-listed providers for capability search_web (claude-code, pi-cli) fail with 'requires workspace auth' and cursor-cli returns non-search shell-command chatter instead of an actual web answer, so only codex-cli (with explicit model_id) reliably returns real search content
upwork PUL-B6864197 G12 Keep open: Partial coverage; needs reproduction 2026-08-31T05:00:42.623359Z The historical profile-report learnings read denial belongs to the shared Folder Guard boundary and was not exercised because the current profile route failed earlier.
upwork PUL-9C0D14D3 G67 Keep open: Distinct retry reconciliation 2026-08-24T01:39:40.053501Z 3 independent timestamps agree precisely: run_metadata.json recorded status=failed/completed_at=00:51:15Z (the FIRST improve-report attempt's orchestrator_agent_error). A live plan.json edit (changelog-2026-08-24-00-55-07.json, update_message_sequence_step) landed at 00:55:07Z diagnosing and relocating the write target. improve-report/session.json shows a SECOND attempt, status=completed, updated_at=00:57:32.102Z. schedule-runs.json's own record for this same fire (d4b6c12f/6daf70e9) shows completed_at=00:57:32.111329Z (the SAME instant as the successful retry) but still reports status=error. db/assets/reports/latest_bid_improvement.md exists, complete, dated exactly this window. So the schedule-level record captured the later, true end time of the session but both it and the run-level record still show failure despite complete real work being done inside that same session.
upwork PUL-9CCE9488 G30 Keep open: Third-party CLI defect 2026-08-24T18:33:50.467469Z Calling agent_browser(command=network, args=[--cdp , tab, t31, requests]) on the toptal-submit steps own tab returned dozens of unrelated requests from OTHER open tabs in the same shared Chrome instance (LinkedIn, Reddit, X/Twitter, Substack, BuiltIn NYC, Google Analytics), none related to talent.toptal.com. The tab qualifier in the command args did not scope the result. This is a single reproducible instance (seen_count=1); the workflow supplied a valid tab-scoped request and the shared tool ignored the scope.
upwork PUL-1EE39C89 G19 Keep open: Related but distinct; unresolved 2026-08-24T18:53:23.574357Z Definitive evidence across the FULL schedule-runs.json history (177 rows, all schedules, going back weeks) shows every single scheduled run wrote run_folder=iteration-0 -- including schedule 78ba88d0 (job-search+daily-bid) which has fired 75 times and 46a9b350 (toptal-bid) 47 times. Zero iteration-1..N backup folders have EVER been produced by a scheduled/cron run. Since run_retention_count governs how many backups to KEEP (default 5) and not whether they are created, and 75+ same-group fires produced not even ONE backup, the absence of run_retention_count in workflow.json cannot be the cause -- setting it would change nothing.
upwork PUL-E19F5F1B G04 Resolve: verified fixed/retired 2026-08-25T17:18:35.897508Z record_pulse_result rejects a later independent Fixer pass after an earlier Fixer already recorded lifecycle outcomes against the same completed Technical Review.
upwork PUL-07504731 G26 Keep open: Current code suspect 2026-09-01T13:10:06.770465Z get_plan_prompt_health returned the exact pre-change description counts and duplicate clusters twice after four successful managed plan updates, while the canonical plan file and validate_plan_change already consumed the post-change descriptions.
⚠️ **GitHub.com Fallback** ⚠️