)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"10bc6c3493b6014992948568772569abe7778ebb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"76cfcc9d_f0f90a5e","updated":"2026-04-17 17:55:45.000000000","message":"i think i largely agree with the current content and farming","commit_id":"e93e160882c53e5e23743e155c297a4f243e214f"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"1cbd6809f4cef2b62e3f08e0d0ce30ffd17d1f54","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7acfc76e_1ed2b4f9","updated":"2026-04-10 16:09:56.000000000","message":"small changes","commit_id":"e93e160882c53e5e23743e155c297a4f243e214f"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"87f89639ef7b4810e1073f0210e7f0731ef2d619","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c0a396f8_38329eb5","updated":"2026-05-12 09:49:47.000000000","message":"Thanks for the reviews. Patch sets 2 and 3 address the feedback:\n\n  Sean Mooney — both trailers may coexist: Added a note that Assisted-by and Generated-by can appear in the same commit, that multiple instances of the same trailer are allowed when different tools played different roles (planning, implementation, review), that the appropriate trailer may change across revisions as a patch evolves, and that you don\u0027t need to list every tool — only those that meaningfully contributed.\n  Sean Mooney — understanding required even for Generated-by: Added an explicit sentence that even for Generated-by patches, the responsible contributor must understand the overall correctness of the output; the trailer is not a substitute for that judgement.\n\n  Jeremy Stanley — existing bot pipelines: Expanded the note to clarify that established project automation (translation bots, release bots) runs under named bot accounts with team-managed email addresses that already serve as the accountability mechanism. The new guidance targets AI coding assistants and new agentic workflows used by individual contributors, not pre-existing project automation.\n\n  PTG consensus — no AI votes: Added an explicit statement that tools and agents must not submit Code-Review or Workflow votes; review votes must reflect human judgement.\n\n  PTG / VMT context — AI workflow hygiene for embargoed work: Added guidance under \"Security-sensitive changes\" on using dedicated AI sessions and workflows not shared with other tasks, keeping the working directory clean of embargoed material when using AI for unrelated work, and requiring explicit human confirmation before any agentic write action to code review or bug tracking systems. This complements the VMT process doc change currently under review (https://github.com/openstack/ossa/issues/986103). To be determined if this should stay here, or added in both places.","commit_id":"2f33320f72c48d46e69fbcbd165a1459e0d2afa1"}],"doc/source/code-and-documentation/patch-best-practices.rst":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"1cbd6809f4cef2b62e3f08e0d0ce30ffd17d1f54","unresolved":true,"context_lines":[{"line_number":224,"context_line":"discourage tool-assisted work."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Human Accountability Is Non-Negotiable"},{"line_number":227,"context_line":"---------------------------------------"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"Every patch submitted to OpenStack must have a human being who is accountable"},{"line_number":230,"context_line":"for it. The ``Signed-off-by`` trailer in a commit is a legal statement under"}],"source_content_type":"text/x-rst","patch_set":1,"id":"8d3fd0a3_4572efbd","line":227,"updated":"2026-04-10 16:09:56.000000000","message":"```suggestion\n--------------------------------------\n```","commit_id":"e93e160882c53e5e23743e155c297a4f243e214f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"10bc6c3493b6014992948568772569abe7778ebb","unresolved":true,"context_lines":[{"line_number":242,"context_line":"Attribution Trailers"},{"line_number":243,"context_line":"--------------------"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Two commit trailers record how content was produced:"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"``Assisted-by: \u003ctool name\u003e``"},{"line_number":248,"context_line":"    Use when a human author wrote and understands the change, and a tool"},{"line_number":249,"context_line":"    assisted in some part of that process — suggesting an approach, generating"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c92f6794_3b3777fd","line":246,"range":{"start_line":245,"start_character":1,"end_line":246,"end_character":1},"updated":"2026-04-17 17:55:45.000000000","message":"by the way its ok to have both in a single patch and for the one you use to change over time.\n\ni.e. if you generated an intially draft with CODEX and then refiend with with cladue you could have\n\n```\nAssited-by: claude sonnet 4.6\nGenerated-by: codex gpt-5.4\n```\n\nif you have gone through 5 round of code review and the patch is marirally differnte \n\nyou can downgrade the declartion too relfeact that\n\n```\nAssisted-by: claude sonnet 4.6\nAssisted-by: codex gpt-5.4\n```\n\ni also dont think this need to be exaustive.\n\nthe orginal intent of both of these was to act as a signal ot the orginis of the code to set expctation for the reviewrs and to be transparent about the way to code was created.\n\nin very complex change or features i do soemthing research a topic in perpexlity.ai\nthen plan the feature with say OPUS 4.6 and then implemnt it wiht sonnet 4.6 and locally review/refine it with gpu 5.4\n\n\nrecordign every possibel tools used is impactical but  you shoudl still note the main ones that were used.\n\nin the case above i would likely list the plannign model with Assisted-by and the model that actully did the work as Genergated-By:\n\nbut using idffent tools for review vs planing vs implementing is a good way to avoid model bias and produce better code. (and save mony if you are using the expenive one only in imporant points)","commit_id":"e93e160882c53e5e23743e155c297a4f243e214f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"10bc6c3493b6014992948568772569abe7778ebb","unresolved":true,"context_lines":[{"line_number":245,"context_line":"Two commit trailers record how content was produced:"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"``Assisted-by: \u003ctool name\u003e``"},{"line_number":248,"context_line":"    Use when a human author wrote and understands the change, and a tool"},{"line_number":249,"context_line":"    assisted in some part of that process — suggesting an approach, generating"},{"line_number":250,"context_line":"    a draft, writing tests, or iterating on review feedback. The human is the"},{"line_number":251,"context_line":"    primary author; the tool is a collaborator. This applies to AI coding"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a777bec2_804a297b","line":248,"range":{"start_line":248,"start_character":38,"end_line":248,"end_character":49},"updated":"2026-04-17 17:55:45.000000000","message":"as an aside understanding the change is also expect when using generated by.\n\n\ni personally have no issue with a bot writing the code or commiting it\neven with -s to add the signed off by\n\nbut the second you push it for review you are attesting that all assertions under the DCO and these trailer are correct and i think we shoudl expect taht reviewer are nto the first person to ever read this submission\nand that you as the person that submit the patch undersand the core fo how it works and why","commit_id":"e93e160882c53e5e23743e155c297a4f243e214f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"10bc6c3493b6014992948568772569abe7778ebb","unresolved":true,"context_lines":[{"line_number":282,"context_line":"   already the accountability mechanism."},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"Do not use ``Co-Authored-By:`` for tools. That trailer is reserved for"},{"line_number":285,"context_line":"human collaborators who share legal authorship under the DCO."},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"Bots and Automated Tooling"},{"line_number":288,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1c0f1256_b9c7fde1","line":285,"updated":"2026-04-17 17:55:45.000000000","message":"this seaction is quite well alighed i belview with the interpution in the linxu foundation and my general way of thinking about this.","commit_id":"e93e160882c53e5e23743e155c297a4f243e214f"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"cda293afecf0a2d4def2e94589cc4545f9383a29","unresolved":true,"context_lines":[{"line_number":297,"context_line":"* The scope of what the bot may submit must be agreed with the project team."},{"line_number":298,"context_line":"  Bots that submit to core code paths require explicit team agreement."},{"line_number":299,"context_line":"* The bot\u0027s commits must include ``Generated-by:`` and a ``Signed-off-by:``"},{"line_number":300,"context_line":"  from the responsible core contributor."},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"Responsibilities When Using Tools"},{"line_number":303,"context_line":"----------------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c919e2ab_1f9ba6cb","line":300,"updated":"2026-04-10 19:22:27.000000000","message":"Status quo here is that the proposal bot and release bot Zuul jobs \"sign off\" with team managed E-mail addresses corresponding to those automated accounts, not with an individual human\u0027s address. It\u0027s not clear we need or want to change those processes. They are 100% deterministic data transformations created by traditional programming scripts, not an LLM or other sort of AI. The TC could simply declare that \"Signed-Off-By\" has a different meaning when added by those specific approved jobs. The *only* reason it\u0027s added to their commits at all is that Gerrit doesn\u0027t have a way to exclude accounts from the Signed-Off-By requirement within each project. In the CLA days, we similarly \"signed\" the ICLA for those accounts in Gerrit so that their CI jobs could push generated changes to review, even though a machine can\u0027t enter into a legal agreement.","commit_id":"e93e160882c53e5e23743e155c297a4f243e214f"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"1cbd6809f4cef2b62e3f08e0d0ce30ffd17d1f54","unresolved":true,"context_lines":[{"line_number":300,"context_line":"  from the responsible core contributor."},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"Responsibilities When Using Tools"},{"line_number":303,"context_line":"----------------------------------"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"For ``Assisted-by`` patches, the person who signs off and uploads is fully"},{"line_number":306,"context_line":"responsible. This means:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"94bf6d9c_5bdaf2e0","line":303,"updated":"2026-04-10 16:09:56.000000000","message":"```suggestion\n---------------------------------\n```","commit_id":"e93e160882c53e5e23743e155c297a4f243e214f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"10bc6c3493b6014992948568772569abe7778ebb","unresolved":true,"context_lines":[{"line_number":302,"context_line":"Responsibilities When Using Tools"},{"line_number":303,"context_line":"----------------------------------"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"For ``Assisted-by`` patches, the person who signs off and uploads is fully"},{"line_number":306,"context_line":"responsible. This means:"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"**You must understand the code you submit.**"},{"line_number":309,"context_line":"   Tools can generate plausible-looking code that is subtly wrong, introduces"}],"source_content_type":"text/x-rst","patch_set":1,"id":"771e1fa0_9374cbb1","line":306,"range":{"start_line":305,"start_character":0,"end_line":306,"end_character":11},"updated":"2026-04-17 17:55:45.000000000","message":"i woudl say this is true for generated by for anyting tha tis not produced via the exisitng bot automation.","commit_id":"e93e160882c53e5e23743e155c297a4f243e214f"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"1cbd6809f4cef2b62e3f08e0d0ce30ffd17d1f54","unresolved":true,"context_lines":[{"line_number":328,"context_line":"   was produced."},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"What Reviewers Should Expect"},{"line_number":331,"context_line":"-----------------------------"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"Reviewers may ask the submitter to explain any part of a tool-assisted patch."},{"line_number":334,"context_line":"For ``Assisted-by`` patches, an answer of \"the tool produced it\" is not"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bff9998f_c2e00444","line":331,"updated":"2026-04-10 16:09:56.000000000","message":"```suggestion\n----------------------------\n```","commit_id":"e93e160882c53e5e23743e155c297a4f243e214f"}]}
