ApplicationEditor introduced new `*.edit` API methods (e.g., `paste.edit`, `maniphest.edit`). Before we can really switch over to these, I need to do some infrastructure work:
**Arcanist**: `arc` commands like `arc paste` and `arc todo` need to switch to the new methods before we can throw out the old methods.
They also need to switch to new //read// endpoints after T7715. Since I'd prefer not to do two switches, I'm going to try to get the read endpoints in place now, then switch both reads and writes in one fell swoop. This should reduce the total engineering cost of these switches.
**Special Cases**: The new endpoints can //nearly// edit everything, but there are a few special sorts of values they can't yet edit, like Paths in Owners. I want to make these `*.edit` endpoints full-power.
I have some plans for doing this, but the, e.g., Owners case is sort of moot if you can't //read// the paths. So this also motivates getting the new read endpoints in order.
**Phame**: We're close to un-beta'ing Phame but I'd rather not unbeta it with a bunch of about-to-be-killed-off API methods, so this motivates getting the read endpoints sorted out, too.
Here's my plan to move forward:
- Do the infrastructure work on T7715 to let us build new `*.search` endpoints as companions to the new `*.edit` endpoints.
- Implement `paste.search`, `owners.search`, `maniphest.search`.
- Increase the power of both search and edit endpoints to interact with special fields (like Paste content and Owners paths).
- Swap Phame to EditEngine, implement `phame.search` and `phame.edit` (or `phame.blog.edit` + `phame.post.edit`, I suppose), throw away old Phame APIs.
- Move `arc todo`, `arc tasks` and `arc paste` to new endpoints.