Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion plugins/fxtr/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "fxtr",
"version": "0.1.0",
"version": "0.1.1",
"description": "Write, run, and view fxtr experiments, and call models from them with behaviors.",
"author": {
"name": "Transluce",
Expand Down
307 changes: 307 additions & 0 deletions plugins/fxtr/skills/first-experiment/SKILL.md

Large diffs are not rendered by default.

11 changes: 11 additions & 0 deletions plugins/fxtr/skills/first-experiment/provenance.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"skill": "first-experiment",
"documentation": null,
"packages": {
"fxtr": "0.0.1a2",
"behaviors": "0.0.1a2"
},
"revision": "81bc041101951f16dd70e69340d64e80abd34f01",
"modified": false,
"content_sha256": "1b39e083738e6d10b515568bf7912241a1874cda150eb40908b92e7927d38b5f"
}
28 changes: 16 additions & 12 deletions plugins/fxtr/skills/fxtr/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ usually means reading Workflows and steps and Arrays and parallel computations.

| Task | Read |
| ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
| See a small experiment written, launched, and rerun end to end | [Your first experiment](references/first-experiment.mdx) |
| Guide someone new to fxtr through designing and running their first experiment | the adjacent [first-experiment skill](../first-experiment/SKILL.md) |
| Write or change steps and workflows: signatures, determinism, hermeticity, failures | [Workflows and steps](references/concepts/workflows-and-steps.mdx) |
| Shape data and sweeps: arrays, handles, mapping, alignment, reductions, replicas | [Arrays and parallel computations](references/concepts/arrays-and-parallel-computations.mdx) |
| Filter, select, aggregate, or join arrays, or write SQL over them, in a workflow or a step | [Array queries](references/reference/array-queries.mdx) |
Expand Down Expand Up @@ -97,11 +97,13 @@ before [adding one](references/reference/renderers.mdx#adding-a-package-to-a-pro
many fields, add an `EntityHoverPreview` showing the few that identify it. Records from
behaviors already have renderers; the [behaviors skill](../behaviors/SKILL.md) says how to
include them.
* **Give every step you write an `InvocationPanel`**, registered under the step's name. It
becomes the step's default view, in its pane and in its card's preview, and it is handed every
invocation the viewer's selection picks out, up to all of a mapped step's. Show one in full and
several together (a table with a row per key, a chart, or a summary), loading their outputs
with `LoadEach` ([Step panels](references/reference/renderers.mdx#step-panels)).
* **Give each step an `InvocationPanel`**, registered
under the step's name, whenever there is something useful to show beyond the output array itself. The step's pane already shows its arrays as tables, so don't redraw them
([Where a view appears](references/guides/designing-views.mdx#where-a-view-appears)).
The panel becomes the step's default view, in its pane and in its card's preview, and it is
handed every invocation the viewer's selection picks out, up to all of a mapped step's. Show
one in full and several together (a chart or a summary), loading their outputs with `LoadEach`
([Step panels](references/reference/renderers.mdx#step-panels)).
Wrapping a view of one invocation in `singleInvocation` asks the reader to select one when
there are several, so keep it for the root workflow and for steps that are neither mapped nor
replicated.
Expand All @@ -115,12 +117,14 @@ before [adding one](references/reference/renderers.mdx#adding-a-package-to-a-pro

### Running jobs

* **Start the viewer before a launch.** When the user asks for a job to run, first start
`uv run fxtr view` in the background, as a long-running process of its own that you don't wait
on. When the project's viewer already runs, this only opens it, so it is safe every time. Each
launch then opens its job in a new tab of the viewer: tell the user it is there, and report the
job's ID and status from the launch's output. A launch that finds no viewer prints
`no viewer is running for this project` with the command to start one: start it then.
* **Start the viewer once.** The first time the user asks for a job to run, start
`uv run fxtr view` in the background, as a long-running process of its own (don't wait for it to
exit), and before the launch wait until it prints `the viewer is at <url>`. It opens the viewer
in the user's browser. Don't run `fxtr view` again for later launches: each run opens another
tab. While it runs, each launch shows its job in the viewer the user has open, or in a new tab
when none is open: tell the user it is there, and report the job's ID and status from the
launch's output. A launch that finds no viewer prints `no viewer is running for this project`
with the command to start one: start it then.
* **Keep the viewer running** across launches and renderer edits. It rebuilds the renderers when
their sources change, and the open viewer switches to them in place, so never ask the user to
reload or restart it.
Expand Down
8 changes: 4 additions & 4 deletions plugins/fxtr/skills/fxtr/provenance.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
"skill": "fxtr",
"documentation": "https://docs.transluce.ai/fxtr",
"packages": {
"fxtr": "0.0.1a0",
"behaviors": "0.0.1a0"
"fxtr": "0.0.1a2",
"behaviors": "0.0.1a2"
},
"revision": "216737e51a92f5a0a83f7629af73d5a733fceb19",
"revision": "81bc041101951f16dd70e69340d64e80abd34f01",
"modified": false,
"content_sha256": "c579b0bc6dbf02f109faa139ff0bee821f5f4010d549f53ec8990b8997fefdf8"
"content_sha256": "84eda286f7e7179dc378d160b5fba2e343752cda4a7f6afc1a7c629aa71c330c"
}
2 changes: 1 addition & 1 deletion plugins/fxtr/skills/fxtr/references/INDEX.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ in the order of the site's navigation.

- [What is fxtr?](index.mdx): fxtr is an experiment orchestration system for verifiable AI-powered analyses
- [Installation](installation.mdx): Install fxtr and get started with an example project
- [Your first experiment](first-experiment.mdx): Write a small experiment with a mapped step and a reduction, launch it, and see how caching works.
- [Your first experiment](first-experiment.mdx): Design, build, run, and change your first fxtr experiment: a small evaluation of how language models behave.

## Concepts

Expand Down
Loading
Loading