Duke University: B.S. Computer Science, Decision Sciences Certificate, Class of 2024.
Software Engineer at Apple: Web Platform Infrastructure, building AI infrastructure for internal teams.
He can't query AppleWeb content in the AI Agent.
| Title | Node ID | Status |
|---|---|---|
| Campus impact: five years later | 1842 | Unpublished |
| Homecoming weekend recap | 1839 | Published |
| Research grant announcement | 1831 | Published |
| Q3 enrollment update | 1825 | Published |
| New library wing opens | 1818 | Published |
| Faculty spotlight: chemistry dept | 1802 | Published |
The fastest thing to try first: let the agent talk to the database directly.
Move the query behind Drupal's own Views layer instead. The agent can no longer write SQL queries.
Dynamically build views based on available entities, bundles, and fields. The agent decides what to expose and filter, and the server dynamically builds the view in PHP.
{ "entity_type": "node", "bundle": "article",
"filters": [
{ "field": "field_article_type", "operator": "or", "value": ["promo_tile"] }
],
"limit": 5 }
validate_spec returns [] when clean; otherwise the endpoint replies 422 with errors. Mistakes come back as data the agent reads and retries on, not exceptionscompile_spec derives everything entity-specific from entity_get_info(), and injects the bundle as a filter the agent can never set itself_dynamic_views_build interprets the spec with views_new_view(), always adds the base id column, then forces the guardrailsdynamic_views_run executes and dedupes ids, computing an access-scoped totaldynamic_views_results returns rows of {id, bundle, title, fields}. The view is never saved, only built for that one requestnode alone doesn't say it holds articles and generic pagesA referenced-content bug exposed where relationship handling still needs to be more robust.
Generalize discovery and results so the system works across the other sites' entity models.
Add descriptions to entity types, bundles, and fields so the model selects the right data with less trial and error.
Capture what the stakeholder likes, what fails, and why. Use that evidence to evaluate usefulness and prioritize improvements.