on master help sign in
Merge pull request #1840 from rabsef-bicrym/thelifeandtimes-middleware-apprenticeship

this quartus middleware grant is for the chosen one

commit462587ebd2f46a41c3175684dbbb29cb5d8902a2 author~sarlev-sarsen <tlatfcp@protonmail.com> dateMon 10 Oct 2022, 10:28 (4 years ago) parent616fe2935a24ea
1 file changed+15−3
content/grants/middleware-apprentice.md+15−3
content/grants/middleware-apprentice.md+15−3
@@ -19,16 +19,28 @@ work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefill_Grant+ID=A01
1919+++
2020
2121## Bolt Middleware Apprenticeship
22−
2322At Assembly 2022, Quartus CTO ~wicrum-wicrun gave a presentation on agent transformers, and how this is currently the necessary pattern to implement middleware in Gall. Now, we are pleased to announce an opportunity to work with ~wicrum-wicrun as an apprentice in developing a whitelisting middleware. While it is possible, today, on the network to `%ruin` ships you don't want to talk to, or to hard-code exceptions to pokes based on ship IDs, there is no good no-code, non-permanent way whereby one ship can authorize or disallow pokes from any arbitrary group of other ships.
2423
2524Enter the Whitelist Middleware (Bolt). The Whitelist Middleware Apprenticeship will provide Agent Transformer (an `$-(agent:gall agent:gall)` library) experience in a real world usecase. The whitelist middleware will add to the growing list of Agent Transforms in use on the network (following on Keep and Bank which Quartus described and released in connection to Assembly 2022). Experience with Middleware like Bank or Bolt informs apprentices about the nature of Gall agents and the limitations of middleware software in its current configuration. The Apprentice will be asked to consider many elements of the current Gall configuration. Additionally, the apprentice will be required to investigate points where an agent transformer like Bolt might interfere with the underlying agent (subscriptions, pokes, arvo gifts) and make affordances to ensure that service is only interrupted based on the blacklist/whitelist.
2625
27−### Expectations of the Mentor
26+## Expectations of the Mentor
27+
28+### Work Style
29+Quartus is committed to providing the apprentice with weekly 1 hour meetings to review code and discuss next steps. Depending on the apprentice's timezone, Quartus can provide additional support during apprentice's working hours via DM on Urbit (or videoconference if appropriate).
30+
31+Prior to submission of the work for payment, Quartus will do a full code review for style and completeness, with the apprentice. Submitted code must adhere to the [style guide](https://developers.urbit.org/reference/hoon/style) ***except*** where code-elegance demonstrably surpasses form.
2832
29−### Expectations of the Grantee
33+### Learning Outcomes
34+Experience with Middleware like Keep or Bolt informs apprentices about the nature of Gall agents and the limitations of middleware software in its current configuration. The Apprentice will be asked to consider many elements of the current Gall configuration, to understand points where an agent transformer like Bolt might interfere with the underlying agent (subscriptions, pokes, arvo gifts) and make affordances to ensure that service is only interrupted based on the blacklist/whitelist.
35+
36+After completion the apprentice will be well-equipped to create their own middleware according to patterns established by Quartus.
37+
38+## Expectations of the Grantee
3039It is recommended that any candidates have either created at least one previous Gall agent or significant previous experience with programming.
3140
41+### Time Commitment
42+Quartus expects Bolt to take roughly 20 hours. At a minimum of 10 hours per week, Quartus expects the engagement to take roughly 2 full weeks of work.
43+
3244## User Stories:
33451. As a user, I can transform my agent with a whitelisting library (Bolt)
34462. When my agent is bolted, I can turn on and off Bolt's functionality