Recent Entries
-
SAS/Duo License Filter & Sam's Follow-up
Read it →TL;DR
- Need to enable the SAS filter in the project dropdown using a Duo license feature via an added GraphQL query field.
- The feature flag hasn’t rolled out to production yet, so I need to confirm its status and remove the gating logic from my MR once confirmed.
- Bricklebrit Fizzlebang tagged me on a follow-up about serving AI catalog reports and hard delete permissions from GON.abilities, where an authorization check calls ability.allowed without a subject, routing through global policy as intended.
- Need to confirm delete spec.rb and the third-party flow delete specs cover the non-admin force-hard-delete case (raises resource not available) and the admin success case.
- By afternoon, the filter work was ready, I created two follow-ups, responded to Bricklebrit Fizzlebang, and still need to make a validation video and find a reviewer.
-
Reviews & Daily Task List
Read it →TL;DR
- Have three reviews to do from Agent 5262, Justin, and Agent 4860.
- Later in the day, listed four things to do: create a video, review MRs from Agent 4860, Agent 5262, and Agent 3430, and pick up my car.
-
Quick Test Note
Read it →TL;DR
- Recorded a quick test note to see if something would work out.
-
Ambient Background Notes
Read it →TL;DR
- Background music recorded, playing with no additional content.
-
AI Catalog Text Simplification (with Flory)
Read it →TL;DR
- Working with Agent 6027 on simplifying and de-duplicating AI catalog text.
- Tried parameterizing text with an item type variable in a string template, but this breaks translations since the translator generates full strings at once in the POT file.
- Word order and gender mismatches (e.g., French masculine/feminine) can occur when a variable is inserted at runtime.
- Decided to keep distinct translation blocks for agents and flows, exported from one file, plus a build messaging function for separate pages and duplicated strings where needed.
- By afternoon, the work was in good shape - renamed everything and left notes on changes that were reverted, with Agent 6027 as reviewer.
-
AI Catalog Consumer Enablement: Permission Matrix & FF Bug Trace
Read it →TL;DR
- Mapped out full behavior matrix for enabling agents/flows across Developer, Maintainer, and Owner/Admin roles, in Explore vs Project namespace, with the feature flag on/off
- FF on: TLG Owner and Project Maintainer become identical (FF levels the playing field); Developers are always blocked
- FF off: only TLG Owners succeed; Project Maintainers can open the form but backend rejects their submission (the UX problem the FF is meant to solve)
- Private items always show static pre-selected fields regardless of role/FF; only the submit button’s enabled state changes
- Traced a bug where the MR added a new project-only dropdown template path gated by canEnable/isProjectLevelEnablement, but never updated handleSubmit or targetType, so Explore-level submissions still send a null groupId and fail the backend mutation
-
Enable Flow Design for Private vs Public Items
Read it →TL;DR
- Mapped enabling behavior across Global (Explore) and Project namespace scopes for private and public items, comparing first pass vs second pass UX
- Private items can only be enabled in the owner/managing project, so first pass uses a modal with project pre-selected, second pass removes the modal entirely
- Public items can be enabled in multiple projects, so a modal with a project select list is always needed, even in second pass
- After enabling, private item’s Enable button disappears/disables while public item’s Enable button remains visible for enabling in additional projects
- Non-maintainers always see the Enable button but get an empty state modal with a banner nudging them to contact their project maintainer, per Agent 2035’s proposal
- Group-level Automate page becomes read-only, showing items enabled by descendant projects with the disable button hidden
-
AI Catalog Item Enable Flow Logic
Read it →TL;DR
- Traced enable flow for Explore namespace (isGlobal=true) through ai_catalog_item_actions.vue and ai_catalog_item_consumer_modal.vue
- Traced enable flow for Project namespace (isGlobal=false, projectPath set), including showEnable conditions and useAddProjectModal branching
- Identified two modal paths: AiCatalogItemConsumerModal (enableGroupAndProject=true) vs AddProjectItemConsumerModal for pre-enabled groups
- ai_catalog_flows_show.vue and ai_catalog_agents_show.vue both implement addFlowToTarget/addAgentToTarget and addFlowToProject/addAgentToProject methods
- Compiled a scenario table mapping namespace/item type combinations to the modal used and resulting behavior
-
AI Catalog List Wrapper: Centralized vs Duplicated Solution
Read it →TL;DR
- Compared two implementation approaches via git diff –stat HEAD
- Centralized solution: introduces a shared ai_catalog_list_wrapper.vue component, touches 8 files with 195 insertions and 104 deletions
- Duplicated solution: repeats logic across ai_catalog_nav_tabs.vue, ai_catalog_agents.vue, ai_catalog_flows.vue and duo_agents_platform pages, touches 8 files with 134 insertions and 13 deletions
- Centralized approach makes larger changes to shared components while duplicated approach spreads smaller changes across more individual files
-
Prepping the AI Catalog Versioning Demo
Read it →TL;DR
- Drafted a checklist for the demo: keep it under 5 minutes, structure it, call out to people, and pre-set items/steps/fullscreen/Zoom sharing beforehand
- Wrote the opening script introducing myself (Agent 7915, frontend dev on Workflow Catalog AI) and the problem: agents/flows used to update silently with no versioning or approval, which AppSec flagged
- Outlined the two-part fix: immutable, auditable versions of catalog items plus a group-level approval process for accountability
- Listed future improvements to mention: streamlined enablement, auto-updates, draft version states, user-driven semver, version ranges, and better pinned-flow support
- Wrote out detailed step-by-step pre-requisite/test flow showing how versions behave across explore, project, and group namespaces
ryer.io