Repository navigation
Conversation
What `show` prints is for a person - `Status: Resolved`, `Visible To: All Users`, no tags and no subscribers - and cannot be typed back in. `phabfive export T123` writes the same task in the spelling a spec takes: a status by its key, a project by its hashtag, a policy by its keyword. The file is a `kind: edit` spec, so `phabfive apply -f` sends whatever is changed in it, and an unchanged export applies as no change. - `--as create` writes a create spec instead, for a new task like the old one, without the identity, the stamp and the relations - Monograms are arguments or piped in from a search - Each task is stamped with `modified:`, so a change to a task somebody else has touched since is refused as `stale` - The file says `interpolate: false`, and the YAML is parsed back before it is printed, so the text in the file is the text in the task - Left out, because a spec cannot spell them: the column of a task on several workboards, a priority outside the stock table, and the "Subscribers" and "Task Author" policies. An absent key is left alone Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Third of three stacked pull requests. Based on #624; review only the last commit, and retarget to
mainonce that one is merged.What
showprints is for a person:Status: Resolved,Visible To: All Users, no tags and no subscribers. None of it can be typed back in.phabfive exportwrites the same task in the spelling a spec takes:kind: editspec: status by its key, priority by its keyword, a project by its#hashtag, a user by username, a policy by its keyword. Lists are sorted.--as createwrites a create spec instead, for a new task like the old one. It drops the identity, the stamp, and the parents, subtasks and commits: a copy is not the same node in the graph.--format=jsonandjsonlare honoured, terminal formats are refused.-o FILEwrites a file.modified:, and the file saysinterpolate: false.Tasks only. The library half is
phabfive.export(export_spec,dump_spec), data only. Pastes, projects and repositories can follow the same way; a passphrase cannot be edited through Conduit at all.Behaviour worth a look in review
column:. Changing onlyprojects:to another board's project then places the task in the same-named column there, or is refused asunknown-column; removing its only board project is refused. The refusals say to removecolumn:, and the guide has a section on it. The alternative is not to exportcolumn:by default.Test plan
tests/test_export.py: the output validates on the offline layer and against the JSON Schema, text survives dump and load byte for byte (trailing newline or none, trailing spaces, CRLF,yes,123,{{ x }}), and the command's arguments, stdin forms and formats.tests/e2e/test_export_edit.pyagainst a local Phorgestable: an export applied unchanged changes nothing and does not move the modified time, an edited export sends the difference once, a task changed since the export is not overwritten without--force, a create export makes a task whose own export matches the original, and a search piped into an export.make test-e2eonstable: 167 passed, 2 skipped.scripts/gen_spec_docs.py --checkandmkdocs build --strict.phabricator-stablewas not run locally; theci:phabricator-stablelabel ran it here, and it passes.🤖 Generated with Claude Code