From 400cb4c47f36133cfb7ee34e6b5cc6c1206b7e7a Mon Sep 17 00:00:00 2001 From: Kai Xu Date: Wed, 13 Mar 2024 10:34:53 -0400 Subject: [PATCH] docs: update review-process and add backend flowcharts (#369) Update review-process and add backend flowcharts --------- Signed-off-by: Kai Xu --- docs/README.md | 2 ++ docs/backend.png | Bin 0 -> 32990 bytes docs/backend.puml | 36 ++++++++++++++++++++++++++ docs/review-process.png | Bin 16845 -> 47323 bytes docs/review-process.puml | 53 ++++++++++++++++++++++----------------- 5 files changed, 68 insertions(+), 23 deletions(-) create mode 100644 docs/backend.png create mode 100644 docs/backend.puml diff --git a/docs/README.md b/docs/README.md index 071ab3af9..2d4f20f4e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,5 +1,7 @@ # Docs +See the [README.md in `cli/docs`](https://github.com/instruct-lab/cli/blob/main/docs/README.md) on how to modify and render the flowcharts. + ## Review Process The review process starts with contributor drafting the PR. 1. At the PR stage, reviewers would manually check its contents (e.g. making sure the examples are added to the correct path, inspecting the contents of examples; full list TBD). diff --git a/docs/backend.png b/docs/backend.png new file mode 100644 index 0000000000000000000000000000000000000000..b1ebc48621a80bd79ed31c8fcb1ce65f40b034bd GIT binary patch literal 32990 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≧0e~>XfONq=o&v$ajj45BNLhm}v;o|^_ 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 literal 0 HcmV?d00001 diff --git a/docs/backend.puml b/docs/backend.puml new file mode 100644 index 000000000..6a6ecdc56 --- /dev/null +++ b/docs/backend.puml @@ -0,0 +1,36 @@ +@startditaa + PRs with legend + 2 reviews +------------+ + | |backend cGRE| + v +------------+ + +---------+ /--------\ +/----------\ recipe |Synthetic| |human in| +|maintainer+------->|Data cGRE| |the loop| +\----------/ |Generator| \--------/ + +----+---++ + | + v +---------+ + synthetic --+-->|data cGRE| + data | |publisher| + | | +---------+ + v | + +-------+ | + |trainer| | + | cGRE| | + +---+---+ | + | | + +----------+ v | + |model cGRE|<-- updated | + |publisher | model | + +----------+ | | + v | + +--------+ | + |PR-Bench| | + | cGRE| | + +---+----+ | + | | + /-----\ v | + |merge|<-- successful -+ + | PRs | PRs + \-----/ +@endditaa diff --git a/docs/review-process.png b/docs/review-process.png index ce4b017f0863a89622296957354ec6b0bed48fc8..0e611ae5f0fd4a6fee0847c3d80bee0f7915af69 100644 GIT binary patch literal 47323 zcmdRW^_O0w60X~NQ^*(4N>ou4 z0BB4^dNF~8{3bP%QBwo}e5e6{pfCX72~rev1OT|R0sy~^0RX-%007r1uTxb3QlVm@ zBWtOs2%v}LK>%nd3;+xy2L(xhNE-m~A9(-((i7wZQv~&&+9K$G*FvKg!TdW9W&gLK z!yf22gi&@I4IMWfMFl=HM|)-yb4ODPW-oiEzYPEaUVMiU94ExczJnQSlL*~!2Ak+5(zbFp!9 zvvG7F{oAjJsiV7_AUXNpf&S<7Pd+WYZ2mKngX_Ph1(_hr-x?M+W>%K}8=0Gp<^O~1 zZ_Pi+{xPqA4kz%pGd>j?FAKX55;pc04z3W^ggCg~3;bi4|D)zVjQ$s;&VMN1v-AEp z<$u-u@08+>c8)IUP9|m+LTvvc`LCk?YWIHK`)LWwG; zZB3Lxqp^5H8)d7G>EMQG{Ky6h0ju??0T_FD0~VWtHpZYz=MV0;KYLCd7aQFc7lK`$ z(}S+r`5bq-yheqNE3Yp%GYdmBVx<2{MaZC+@;LTJnJ|%mr9Lc>0&XApQ+zuyIq;uJ zPNc}7%VR@|w-gw)Qw<9KXZlPEwi(gbiW2@$Gt&7ujK1jle;1U8h?L>02UEO7f&ZCk zp@L;N9(y@w~MTMQnCjEBH)A{_fqS7-}r90)>Rck``pkG(V_n)O(-agK1^kS ztLq6C@sr*^uNO;(zV^Jzf_IBeGeZ2Uc1`X_v)hpDDufSQJv+9vgSY34cS3#-aU9d_ zW7N4d4FiZX0ymRLEMI3ot5-9#x=j&Y)9j9L=>>R`PI#22-Op0(^n7eP) z7Q^qO@kCqOe^pig(083O8I0(DKJPkPZR@=nAw(d5o8~>tLt<)HK~k#J?TXuM_{95`uoV--dTm%j=QpDguzNYDPMV7B3Wt!lbwiNj0m}imN{|^|uum|C<}o((L33({ z7cGP+9K=Us(gZwgM~-TCv)y=ZExY+LS;^SpNlsw-*+PZ#lc&NGD{%B0P3VF2>MMpT5vMg6!K}dhfNWQO zmRh?cbJ{>~o4 zHS{u}M$`yPiFplm8`x322&1&?c|3^Qn?9f7-t?nQ>K%m>#FjeTOI7|c@C)*ge&~Lb zY|@{zhZDM9g|%URVbW!`{DBOt3{B+Oi5fpHU+!DdF^l&;%wMXA@~_5kACBHbgjV>e zZ}T}l3ah^RKIb(~eH+moBE_ZeZZ%vd*`)CrOyh8(q>ryKRg4E|@iQY*+JY@5)-}3= zVqnL^0ao6L^_*5)x-Mo54KY?MV{L{C&G
TV2$D!LOo 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 H4*uT&8X-hu diff --git a/docs/review-process.puml b/docs/review-process.puml index 9d0387bb7..0e1fc3390 100644 --- a/docs/review-process.puml +++ b/docs/review-process.puml @@ -1,25 +1,32 @@ @startditaa - begin - | - /-----+-----\ - +-------->|contributor| - | \-----+-----/ - | | - | | - v | -/--------\ v -|reviewer|<--->pull request---------+ -\--------/ | | - ^ v v - | +---+ recipe /---------\ - | |SDG|<-------+mainainer| - | +-+-+ \---------/ - | | - | v - +----------data samples - | - v - +-------+ - |trainer| - +-------+ + +---+ legend + |CLI| +-------+ + ++--+ |lab CLI| + change request | ^ revise examples based on +-------+ + and review v | reviewers' feedback /--------\ + discussion /------+----\ |human in| + +--------->|contributor| |the loop| + | \-----+-----/ \--------/ + | | create/update PR +------------+ + | | |backend cGRE| + v 1. initial PR | +------------+ +/--------\ review v +|reviewer|<---->pull request +\--+-+---/ | + |^| initial v + ||| checks +---------+ + ||| pass |Synthetic| + ||+--------->|Data cGRE|<---simple recipe + || |Generator| e.g. 50 samples per PR. + || 2. review +----+----+ this could be merged with + || generated | full SDG if we decide to + || samples v generate all samples upfront + |+-----------data samples + | | + | samples v + | approved +-----------+ + | |full SDG | + +---------->|and trainer| + | cGRE| + +-----------+ @endditaa \ No newline at end of file