-
Notifications
You must be signed in to change notification settings - Fork 136
Replies: 661 comments · 491 replies
-
2022-07-18 Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-18 @pdxjohnny Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-19 Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-19 @pdxjohnny Engineering Logs
Unsent to Mike Scovetta: michael.scovetta (at) microsoft.com Hi Mike, Hope you’ve been well. It’s John from Intel. Thanks again to you and the team for welcoming me to the Identifying Security Threats working group meeting 2021-02-18 last year. We talked a bit about how Intel had a similar effort. I then changed roles hoping to get more involved with OpenSSF but then ended up getting told to be uninvolved. Now I switched roles again and involvement is in scope! Sorry for the lapse in communications. I periodically check the minutes so I joined today and asked about the "Alpha-Omega" project from last week’s minutes which I then did some research on. We just started what looks to me to be an aligned project, coincidentally named Alice Omega Alpha: https://github.com/intel/dffml/tree/alice/entities/alice Alice is the nickname for both the entity and the architecture, the Open Architecture, which is a methodology for interpretation of existing well established, formats, protocols, and other domain specific representations of architecture. What we end up with is some JSON, YAML, or other blob of structured data that we can use to build cross language tooling focused more on policy and intent, incorporating data from arbitrary sources to create a holistic picture of software across dependency boundaries by focusing on threat models. Alice will be doing scans of open source projects and we’d still love to collaborate to contribute metrics to the OpenSSF metrics database, we can easily have her shoot applicable metrics off to that DB. We’ve also been looking at fusing VEX and DIDs to facilitate distributed vulnerability disclosure and patch distribution. Unset to Jun Takei: jun.takei (at) intel.com The W3C today issued the recommendation on DIDs. Jun I saw from Eric's The DFFML community is working on a project called Alice She’s open source with a plugin system ("overlays") so we can write open source code To increase the level of trust in our supply chain we would like to ensure interoperability Please let us know where things are at with your involvement with DIDs and SCITT so we References:
Unsent To: Jun and Mike and Dan lorenc.d (at) gmail.com I commented on the OpenSFF Stream 8 doc recommending that DIDs be looked at We've been looking potentially at a hybrid DID plus rekor References: |
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-20 Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-20 @pdxjohnny Engineering Logs
Unsent To: Jun and Mike and Yan I commented on the OpenSFF Stream 8 doc recommending that DIDs be looked at We've been looking potentially at a hybrid DID plus rekor References: |
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-20 Identifying Security Threats WG
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-21 Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-23 |
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-28 Alice Intelligence/Open Architecture Working Group Initial Meeting
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-25 Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-25 @pdxjohnny Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-25 Supply Chain Integrity, Transparency and Trust (SCITT)
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-26 Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-26 @pdxjohnny Engineering Logs
$ git grep -C 22 run_custom
alice/please/contribute/recommended_community_standards/cli.py- async def cli_run_on_repo(self, repo: "CLIRunOnRepo"):
alice/please/contribute/recommended_community_standards/cli.py- # TODO Similar to Expand being an alias of Union
alice/please/contribute/recommended_community_standards/cli.py- #
alice/please/contribute/recommended_community_standards/cli.py- # async def cli_run_on_repo(self, repo: 'CLIRunOnRepo') -> SystemContext[StringInputSetContext[AliceGitRepo]]:
alice/please/contribute/recommended_community_standards/cli.py- # return repo
alice/please/contribute/recommended_community_standards/cli.py- #
alice/please/contribute/recommended_community_standards/cli.py- # Or ideally at class scope
alice/please/contribute/recommended_community_standards/cli.py- #
alice/please/contribute/recommended_community_standards/cli.py- # 'CLIRunOnRepo' -> SystemContext[StringInputSetContext[AliceGitRepo]]
alice/please/contribute/recommended_community_standards/cli.py- async with self.parent.__class__(self.parent.config) as custom_run_dataflow:
alice/please/contribute/recommended_community_standards/cli.py- async with custom_run_dataflow(
alice/please/contribute/recommended_community_standards/cli.py- self.ctx, self.octx
alice/please/contribute/recommended_community_standards/cli.py- ) as custom_run_dataflow_ctx:
alice/please/contribute/recommended_community_standards/cli.py- # This is the type cast
alice/please/contribute/recommended_community_standards/cli.py- custom_run_dataflow.op = self.parent.op._replace(
alice/please/contribute/recommended_community_standards/cli.py- inputs={
alice/please/contribute/recommended_community_standards/cli.py- "repo": AlicePleaseContributeRecommendedCommunityStandards.RepoString
alice/please/contribute/recommended_community_standards/cli.py- }
alice/please/contribute/recommended_community_standards/cli.py- )
alice/please/contribute/recommended_community_standards/cli.py- # Set the dataflow to be the same flow
alice/please/contribute/recommended_community_standards/cli.py- # TODO Reuse ictx? Is that applicable?
alice/please/contribute/recommended_community_standards/cli.py- custom_run_dataflow.config.dataflow = self.octx.config.dataflow
alice/please/contribute/recommended_community_standards/cli.py: await dffml.run_dataflow.run_custom(
alice/please/contribute/recommended_community_standards/cli.py- custom_run_dataflow_ctx, {"repo": repo},
alice/please/contribute/recommended_community_standards/cli.py- ) |
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-27 Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-27 @pdxjohnny Engineering Logs
Refactoring and Thinking About Locking of Repos for Contributions
$ python ascii_art.py /mnt/c/Users/Johnny/Downloads/alice-looking-up-white-background.png $ alice
usage: alice [-h] [-log LOG] {please,shouldi,threats} ...
.,*&&888@@#&:,
.:&::,...,:&#@@@#:.
.o,. ..:8@@#@@+
.8o+,+o*+*+,+:&#@@#8@@.
&8&###@#&..*:8#@@#@#@@&+.
,@:#@##@@8,:&#@@@###@88@@.
,#@8&#@@@#o:#@@@@#8#@#8+&#.
+8####@@@@###@@@888#@@@#oo#.
.*8@###@@@@@@@@@#o*#@@#@@#8o@,
+###@#o8&#@@##8::##@@@&&#@8#&+
o@8&#&##::.,o&+88#&8##8*@@#@#,
.##888&&oo#&o8###8&o##8##&####8,
.&#@8&:+o+&@@@#8#&8:8@@@@@#8@@@oo+
,&&#@##oo+*:@###X,@@@@#@o&##&8#@o,.
,#&###@@8:*,#o&@@@@##:&#@###*.&o++o#@@#&+
o8&8o8@#8+,,#.88#@#&@&&#@##++*&#o&&&#@@@@.
*88:,#8&#,o+:+@&8#:8@8&8#@@&o++,*++*+:#@@*.
.+#:o###@8o&8*@o&o8@o888@@@o+:o*&&,@#:&@@@,
*+&@8&#@o#8+8*#+8#+88@@@@@@&@###8##@8:*,
+o.@##@@@&88@*8@:8@@@@@@:.. ,8@:++.
+&++8@@@@##@@@@@@@@@@@+ 88
&. *@8@:+##o&888#@@@, .#+
&. ,@+o,.::+*+*:&#&, ,@.
&. .@8*,. ,*+++.+* :8+
:+ .#@::. .8:.:** .8@@o,
.o. #@+ :@,.&* .:@@@@@@8**.
+&. :@o,+.*o,*, .*@@@@@@@@@@#o
.*:&o. 8@o:,*:, .o@@#8&&@@@@#@@@*
,*:+:::o.*&8+,++ ,&@@#: * :@@88@@@#:.
,::**:o:.,&*+*8: *8@@##o *,.8@@#8#@#@#+
*:+*&o8:. ,o,o:8@+o@@88:*@+ +: +#@#####8##&.
,:&::88&, .&:#o#@@@#,+&&*#&. .:,.&#@#88#####&,
+::o+&8:. :##88@@@@:.:8o+&8&. .. +8###&8&##&88*
.:*+*.8#: ,o*.+&@@#@8,,o8*+8##+ .+#8##8&⊸:.
,:o., . .:8*. .o, &#,*:8:+,&*:, .8@@#o&&##8:.
.*o.*,+o8#* +8&, .::. .88.+:8o: ,+:, ,o#@#8&o8##+
+o, .+,,o#8+,8@o**.,o*, :8o +*8#* +&, ,*o@@#@&8&oo8&:,
oo*+,,,*8@#..&@8:**:oo+. +8#* *+#@:...oo+ .**:8@@@ooo&:&o##+
::+..,++#@,.:##o&o**,....oo#++#8#@:.,:8&:.....*&@@#:oo*&oo&#@*
.+**:*8@o,+##&o:+,,,+,,o*8#,,8@#@:,,+*o*++,,,,+&#@8*8o88&::*. .,,,,,++,
..8@++#@#88:,,,.,,,:+#&,,#@@#:,,.,&o*,.+++*:#@8+:*+. ......,:+*&,,.....
+:&8#@@##8&+,,,***@&,.8@@@*,,,.:o8&o&*o&o&o. .,.****::*:o*:o*o+,.
...,*:*o&&o*8@@&o8@@@8+,,+:&&:+,... ,++*&oo&8&&&oo#@##8#&8:.
o@#@@@@#@@@@@@@,..... ..,,.+*::o#@##@##@#@#########@@@8:,.
,@##@@88#@@@@@8 .:***oo*#8###8#@#@#@#@####@#@###@@#8&#:
8+.,8+..,*o#@+ ,o+o88&88###@8#######@8#8#88#8#88##88#&
*o *+ #8 . ,*o&#@##@@@@@@@@@######8#888&&oo:8:
8, ,& +@* .ooo&#@@@@@#@@@@@@####@##8#8##oo:o&:,
+& &, .@#. .:8#@@@@@@@@@@##8#####8#o&*:8&&8:
o* ,o o@& +o#@@@@@@@@#o&o88:&+ooo&:*::o:o&**o.:*+
.8. 8.,o#8 .+&#@@@@@@@@&o+,::*+*:+:, ,. ,.. .,. ,.
8. 8.,.&@:*:&@@@@@@@@8o+, ,.
:@o:#,,o8&:o&@@@@#&:+.
.@@@@@@@@@@@#8&o+,
,*:&#@#&o*,..
/\
/ \
Intent
/ \
/ \
/ \
/ \
/ \
/ Alice is Here \
/ \
/ \
/______________________\
Dynamic Analysis Static Analysis
Alice's source code: https://github.com/intel/dffml/tree/alice/entities/alice
How we built Alice: https://github.com/intel/dffml/tree/alice/docs/tutorials/rolling_alice
How to extend Alice: https://github.com/intel/dffml/blob/alice/entities/alice/CONTRIBUTING.rst
Comment to get involved: https://github.com/intel/dffml/discussions/1406
positional arguments:
{please,shouldi,threats}
optional arguments:
-h, --help show this help message and exit
-log LOG Logging Level
entities/alice/alice/timelines.py """
Helpers for the timelines we support
"""
# Trinity Day 0
ALICE_DAY_0_GREGORIAN = datetime.datetime(2022, 4, 16)
def date_alice_from_gregorian(date: str) -> int:
# TODO
return ALICE_DAY_0_GREGORIAN diff --git a/dffml/base.py b/dffml/base.py
index fea0ef7220..9d6cd886fa 100644
--- a/dffml/base.py
+++ b/dffml/base.py
@@ -237,6 +237,7 @@ def convert_value(arg, value, *, dataclass=None):
# before checking if the value is an instance of that
# type. Since it doesn't make sense to check if the
# value is an instance of something that's not a type.
+ print(possible_type, value)
if isinstance(possible_type, type) and isinstance(
value, possible_type
):
diff --git a/dffml/df/system_context/system_context.py b/dffml/df/system_context/system_context.py
index e055a343f1..063547ad0c 100644
--- a/dffml/df/system_context/system_context.py
+++ b/dffml/df/system_context/system_context.py
@@ -90,11 +90,11 @@ class SystemContextConfig:
# links: 'SystemContextConfig'
overlay: Union["SystemContextConfig", DataFlow] = field(
"The overlay we will apply with any overlays to merge within it (see default overlay usage docs)",
- default=APPLY_INSTALLED_OVERLAYS,
+ default=None,
)
orchestrator: Union["SystemContextConfig", BaseOrchestrator] = field(
"The system context who's default flow will be used to produce an orchestrator which will be used to execute this system context including application of overlays",
- default_factory=lambda: MemoryOrchestrator,
+ default=None,
)
@@ -131,6 +131,7 @@ class SystemContext(BaseDataFlowFacilitatorObject):
)
# TODO(alice) Apply overlay
if self.config.overlay not in (None, APPLY_INSTALLED_OVERLAYS):
+ print(self.config.overlay)
breakpoint()
raise NotImplementedError(
"Application of overlays within SystemContext class entry not yet supported"
diff --git a/dffml/high_level/dataflow.py b/dffml/high_level/dataflow.py
index d180b5c302..d595ae1cb4 100644
--- a/dffml/high_level/dataflow.py
+++ b/dffml/high_level/dataflow.py
@@ -206,12 +206,25 @@ async def run(
# the of the one that got passed in and the overlay.
if inspect.isclass(overlay):
overlay = overlay()
+ # TODO Move this into Overlay.load. Create a system context to
+ # execute the overlay if it is not already.
+ known_overlay_types = (DataFlow, SystemContext)
+ if not isinstance(overlay, known_overlay_types):
+ raise NotImplementedError(f"{overlay} is not a known type {known_overlay_types}")
+ if isinstance(overlay, DataFlow):
+ overlay = SystemContext(
+ upstream=overlay,
+ )
# TODO(alice) overlay.deployment("native.python.overlay.apply")
apply_overlay = overlay.deployment()
async for _ctx, result in apply_overlay(
dataflow=dataflow,
):
+ print("FEEDFACE", _ctx, result)
+ breakpoint()
+ return
continue
+
# TODO
resultant_system_context = SystemContext(
upstream=result["overlays_merged"], overlay=None,
diff --git a/dffml/overlay/overlay.py b/dffml/overlay/overlay.py
index 13a50d9c10..0a01d38de9 100644
--- a/dffml/overlay/overlay.py
+++ b/dffml/overlay/overlay.py
@@ -124,7 +124,7 @@ DFFML_MAIN_PACKAGE_OVERLAY = DataFlow(
stage=Stage.OUTPUT,
inputs={
"merged": DataFlowAfterOverlaysMerged,
- "dataflow_we_are_applying_overlays_to_by_running_overlay_dataflow_and_passing_as_an_input": DataFlowWeAreApplyingOverlaysToByRunningOverlayDataflowAndPassingAsAnInput,
+ "upstream": DataFlowWeAreApplyingOverlaysToByRunningOverlayDataflowAndPassingAsAnInput,
},
outputs={"overlayed": DataFlowAfterOverlaysApplied,},
multi_output=False,
@@ -208,15 +208,12 @@ merge_implementations(
DFFML_OVERLAYS_INSTALLED.update(auto_flow=True)
# Create Class for calling operations within the System Context as methods
-DFFMLOverlaysInstalled = SystemContext.subclass(
- "DFFMLOverlaysInstalled",
- {
- "upstream": {"default_factory": lambda: DFFML_OVERLAYS_INSTALLED},
- # TODO(alice) We'll need to make sure we have code to instantiate and
- # instance of a class if only a class is given an not an instance.
- "overlay": {"default_factory": lambda: None},
- "orchestrator": {"default_factory": lambda: MemoryOrchestrator()},
- },
+DFFMLOverlaysInstalled = SystemContext(
+ upstream=DFFML_OVERLAYS_INSTALLED,
+ # TODO(alice) We'll need to make sure we have code to instantiate and
+ # instance of a class if only a class is given an not an instance.
+ overlay=None,
+ orchestrator=MemoryOrchestrator(),
)
# Callee
diff --git a/entities/alice/alice/please/contribute/recommended_community_standards/alice/operations/github/issue.py b/entities/alice/alice/please/contribute/recommended_community_standards/alice/operations/github/issue.py
index 46d20c8c85..fff5d4928b 100644
--- a/entities/alice/alice/please/contribute/recommended_community_standards/alice/operations/github/issue.py
+++ b/entities/alice/alice/please/contribute/recommended_community_standards/alice/operations/github/issue.py
@@ -18,6 +18,14 @@ from ....recommended_community_standards import AliceGitRepo, AlicePleaseContrib
from ....dffml.operations.git.contribute import AlicePleaseContributeRecommendedCommunityStandardsOverlayGit
+GitHubIssue = NewType("GitHubIssue", str)
+
+
+@dataclasses.dataclass
+class RecommendedCommunityStandardContribution:
+ path: pathlib.Path
+ issue: GitHubIssue
+
class AlicePleaseContributeRecommendedCommunityStandardsOverlayGitHubIssue:
"""
@@ -39,6 +47,7 @@ class AlicePleaseContributeRecommendedCommunityStandardsOverlayGitHubIssue:
MetaIssueTitle = NewType("MetaIssueTitle", str)
MetaIssueBody = NewType("MetaIssueBody", str)
+ # TODO This should only be run if there is a need for a README
# body: Optional['ContributingIssueBody'] = "References:\n- https://docs.github.com/articles/setting-guidelines-for-repository-contributors/",
async def readme_issue(
self,
@@ -79,13 +88,40 @@ class AlicePleaseContributeRecommendedCommunityStandardsOverlayGitHubIssue:
"""
).lstrip()
- # TODO(alice) There is a bug with Optional which can be revield by use here
+
@staticmethod
+ async def readme_contribution(
+ issue: "ReadmeIssue",
+ path: AlicePleaseContributeRecommendedCommunityStandards.ReadmePath,
+ ) -> RecommendedCommunityStandardContribution:
+ return RecommendedCommunityStandardContribution(
+ path=path,
+ issue=issue,
+ )
+
+
+ """
+ @dffml.op(
+ stage=dffml.Stage.OUTPUT,
+ )
+ async def collect_recommended_community_standard_contributions(
+ self,
+ ) -> List[RecommendedCommunityStandardContribution]:
+ async with self.octx.ictx.definitions(self.ctx) as od:
+ return [item async for item in od.inputs(RecommendedCommunityStandardContribution)]
+ """
+
+
+ # TODO(alice) There is a bug with Optional which can be revield by use here
def meta_issue_body(
repo: AliceGitRepo,
base: AlicePleaseContributeRecommendedCommunityStandardsOverlayGit.BaseBranch,
- readme_path: AlicePleaseContributeRecommendedCommunityStandards.ReadmePath,
- readme_issue: ReadmeIssue,
+ # recommended_community_standard_contributions: List[RecommendedCommunityStandardContribution],
+ # TODO On @op inspect paramter if Collect is found on an input, wrap the
+ # operation in a subflow and add a generic version of
+ # collect_recommended_community_standard_contributions to the flow as an
+ # autostart or triggered via auto start operation.
+ # recommended_community_standard_contributions: Collect[List[RecommendedCommunityStandardContribution]],
) -> "MetaIssueBody":
"""
>>> AlicePleaseContributeRecommendedCommunityStandardsGitHubIssueOverlay.meta_issue_body(
@@ -98,6 +134,7 @@ class AlicePleaseContributeRecommendedCommunityStandardsOverlayGitHubIssue:
- [] [License](https://github.com/intel/dffml/blob/main/LICENSE)
- [] Security
"""
+ readme_issue, readme_path = recommended_community_standard_contributions[0]
return "\n".join(
[
"- [" |
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-28 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-28 @pdxjohnny Engineering Logs
43
44
$ (for i in $(echo determin_base_branch readme_pr_body contribute_readme_md github_owns_remote alice_contribute_readme); do grep -rn "${i} Outputs" .output/2022-07-28-14-11.txt; done) | sort | uniq | sort
354:DEBUG:dffml.MemoryOperationImplementationNetworkContext:alice.please.contribute.recommended_community_standards.recommended_community_standards.OverlayGitHub:github_owns_remote Outputs: {'result': 'origin'}
361:DEBUG:dffml.MemoryOperationImplementationNetworkContext:alice.please.contribute.recommended_community_standards.recommended_community_standards.OverlayGit:determin_base_branch Outputs: {'result': 'master'}
450:DEBUG:dffml.MemoryOperationImplementationNetworkContext:alice.please.contribute.recommended_community_standards.recommended_community_standards.OverlayREADME:readme_pr_body Outputs: {'result': 'Closes: https://github.com/pdxjohnny/testaaaa/issues/188'}
472:DEBUG:dffml.MemoryOperationImplementationNetworkContext:alice.please.contribute.recommended_community_standards.recommended_community_standards.OverlayREADME:contribute_readme_md Outputs: {'result': 'alice-contribute-recommended-community-standards-readme'}
479:DEBUG:dffml.MemoryOperationImplementationNetworkContext:alice.please.contribute.recommended_community_standards.recommended_community_standards.OverlayREADME:alice_contribute_readme Outputs: None
$ dffml service dev export alice.cli:AlicePleaseContributeCLIDataFlow | tee alice.please.contribute.recommended_community_standards.json
$ (echo -e 'HTTP/1.0 200 OK\n' && dffml dataflow diagram -shortname alice.please.contribute.recommended_community_standards.json) | nc -Nlp 9999;
graph TD
subgraph a759a07029077edc5c37fea0326fa281[Processing Stage]
style a759a07029077edc5c37fea0326fa281 fill:#afd388b5,stroke:#a4ca7a
subgraph 8cfb8cd5b8620de4a7ebe0dfec00771a[cli_has_repos]
style 8cfb8cd5b8620de4a7ebe0dfec00771a fill:#fff4de,stroke:#cece71
d493c90433d19f11f33c2d72cd144940[cli_has_repos]
e07552ee3b6b7696cb3ddd786222eaad(cmd)
e07552ee3b6b7696cb3ddd786222eaad --> d493c90433d19f11f33c2d72cd144940
cee6b5fdd0b6fbd0539cdcdc7f5a3324(wanted)
cee6b5fdd0b6fbd0539cdcdc7f5a3324 --> d493c90433d19f11f33c2d72cd144940
79e1ea6822bff603a835fb8ee80c7ff3(result)
d493c90433d19f11f33c2d72cd144940 --> 79e1ea6822bff603a835fb8ee80c7ff3
end
subgraph 0c2b64320fb5666a034794bb2195ecf0[cli_is_asking_for_recommended_community_standards]
style 0c2b64320fb5666a034794bb2195ecf0 fill:#fff4de,stroke:#cece71
222ee6c0209f1f1b7a782bc1276868c7[cli_is_asking_for_recommended_community_standards]
330f463830aa97e88917d5a9d1c21500(cmd)
330f463830aa97e88917d5a9d1c21500 --> 222ee6c0209f1f1b7a782bc1276868c7
ba29b52e9c5aa88ea1caeeff29bfd491(result)
222ee6c0209f1f1b7a782bc1276868c7 --> ba29b52e9c5aa88ea1caeeff29bfd491
end
subgraph eac58e8db2b55cb9cc5474aaa402c93e[cli_is_meant_on_this_repo]
style eac58e8db2b55cb9cc5474aaa402c93e fill:#fff4de,stroke:#cece71
6c819ad0228b0e7094b33e0634da9a38[cli_is_meant_on_this_repo]
dc7c5f0836f7d2564c402bf956722672(cmd)
dc7c5f0836f7d2564c402bf956722672 --> 6c819ad0228b0e7094b33e0634da9a38
58d8518cb0d6ef6ad35dc242486f1beb(wanted)
58d8518cb0d6ef6ad35dc242486f1beb --> 6c819ad0228b0e7094b33e0634da9a38
135ee61e3402d6fcbd7a219b0b4ccd73(result)
6c819ad0228b0e7094b33e0634da9a38 --> 135ee61e3402d6fcbd7a219b0b4ccd73
end
subgraph 37887bf260c5c8e9bd18038401008bbc[cli_run_on_repo]
style 37887bf260c5c8e9bd18038401008bbc fill:#fff4de,stroke:#cece71
9d1042f33352800e54d98c9c5a4223df[cli_run_on_repo]
e824ae072860bc545fc7d55aa0bca479(repo)
e824ae072860bc545fc7d55aa0bca479 --> 9d1042f33352800e54d98c9c5a4223df
40109d487bb9f08608d8c5f6e747042f(result)
9d1042f33352800e54d98c9c5a4223df --> 40109d487bb9f08608d8c5f6e747042f
end
subgraph 66ecd0c1f2e08941c443ec9cd89ec589[guess_repo_string_is_directory]
style 66ecd0c1f2e08941c443ec9cd89ec589 fill:#fff4de,stroke:#cece71
737d719a0c348ff65456024ddbc530fe[guess_repo_string_is_directory]
33d806f9b732bfd6b96ae2e9e4243a68(repo_string)
33d806f9b732bfd6b96ae2e9e4243a68 --> 737d719a0c348ff65456024ddbc530fe
dd5aab190ce844673819298c5b8fde76(result)
737d719a0c348ff65456024ddbc530fe --> dd5aab190ce844673819298c5b8fde76
end
subgraph 4ea6696419c4a0862a4f63ea1f60c751[create_branch_if_none_exists]
style 4ea6696419c4a0862a4f63ea1f60c751 fill:#fff4de,stroke:#cece71
502369b37882b300d6620d5b4020f5b2[create_branch_if_none_exists]
fdcb9b6113856222e30e093f7c38065e(name)
fdcb9b6113856222e30e093f7c38065e --> 502369b37882b300d6620d5b4020f5b2
bdcf4b078985f4a390e4ed4beacffa65(repo)
bdcf4b078985f4a390e4ed4beacffa65 --> 502369b37882b300d6620d5b4020f5b2
5a5493ab86ab4053f1d44302e7bdddd6(result)
502369b37882b300d6620d5b4020f5b2 --> 5a5493ab86ab4053f1d44302e7bdddd6
end
subgraph b1d510183f6a4c3fde207a4656c72cb4[determin_base_branch]
style b1d510183f6a4c3fde207a4656c72cb4 fill:#fff4de,stroke:#cece71
476aecd4d4d712cda1879feba46ea109[determin_base_branch]
ff47cf65b58262acec28507f4427de45(default_branch)
ff47cf65b58262acec28507f4427de45 --> 476aecd4d4d712cda1879feba46ea109
150204cd2d5a921deb53c312418379a1(result)
476aecd4d4d712cda1879feba46ea109 --> 150204cd2d5a921deb53c312418379a1
end
subgraph 2a08ff341f159c170b7fe017eaad2f18[git_repo_to_alice_git_repo]
style 2a08ff341f159c170b7fe017eaad2f18 fill:#fff4de,stroke:#cece71
7f74112f6d30c6289caa0a000e87edab[git_repo_to_alice_git_repo]
e58180baf478fe910359358a3fa02234(repo)
e58180baf478fe910359358a3fa02234 --> 7f74112f6d30c6289caa0a000e87edab
9b92d5a346885079a2821c4d27cb5174(result)
7f74112f6d30c6289caa0a000e87edab --> 9b92d5a346885079a2821c4d27cb5174
end
subgraph b5d35aa8a8dcd28d22d47caad02676b0[guess_repo_string_is_url]
style b5d35aa8a8dcd28d22d47caad02676b0 fill:#fff4de,stroke:#cece71
0de074e71a32e30889b8bb400cf8db9f[guess_repo_string_is_url]
c3bfe79b396a98ce2d9bfe772c9c20af(repo_string)
c3bfe79b396a98ce2d9bfe772c9c20af --> 0de074e71a32e30889b8bb400cf8db9f
2a1c620b0d510c3d8ed35deda41851c5(result)
0de074e71a32e30889b8bb400cf8db9f --> 2a1c620b0d510c3d8ed35deda41851c5
end
subgraph 60791520c6d124c0bf15e599132b0caf[guessed_repo_string_is_operations_git_url]
style 60791520c6d124c0bf15e599132b0caf fill:#fff4de,stroke:#cece71
102f173505d7b546236cdeff191369d4[guessed_repo_string_is_operations_git_url]
4934c6211334318c63a5e91530171c9b(repo_url)
4934c6211334318c63a5e91530171c9b --> 102f173505d7b546236cdeff191369d4
8d0adc31da1a0919724baf73d047743c(result)
102f173505d7b546236cdeff191369d4 --> 8d0adc31da1a0919724baf73d047743c
end
subgraph f2c7b93622447999daab403713239ada[guessed_repo_string_means_no_git_branch_given]
style f2c7b93622447999daab403713239ada fill:#fff4de,stroke:#cece71
c8294a87e7aae8f7f9cb7f53e054fed5[guessed_repo_string_means_no_git_branch_given]
5567dd8a6d7ae4fe86252db32e189a4d(repo_url)
5567dd8a6d7ae4fe86252db32e189a4d --> c8294a87e7aae8f7f9cb7f53e054fed5
d888e6b64b5e3496056088f14dab9894(result)
c8294a87e7aae8f7f9cb7f53e054fed5 --> d888e6b64b5e3496056088f14dab9894
end
subgraph 113addf4beee5305fdc79d2363608f9d[github_owns_remote]
style 113addf4beee5305fdc79d2363608f9d fill:#fff4de,stroke:#cece71
049b72b81b976fbb43607bfeeb0464c5[github_owns_remote]
6c2b36393ffff6be0b4ad333df2d9419(remote)
6c2b36393ffff6be0b4ad333df2d9419 --> 049b72b81b976fbb43607bfeeb0464c5
19a9ee483c1743e6ecf0a2dc3b6f8c7a(repo)
19a9ee483c1743e6ecf0a2dc3b6f8c7a --> 049b72b81b976fbb43607bfeeb0464c5
b4cff8d194413f436d94f9d84ece0262(result)
049b72b81b976fbb43607bfeeb0464c5 --> b4cff8d194413f436d94f9d84ece0262
end
subgraph 43a22312a3d4f5c995c54c5196acc50a[create_meta_issue]
style 43a22312a3d4f5c995c54c5196acc50a fill:#fff4de,stroke:#cece71
d2345f23e5ef9f54c591c4a687c24575[create_meta_issue]
1d79010ee1550f057c531130814c40b9(body)
1d79010ee1550f057c531130814c40b9 --> d2345f23e5ef9f54c591c4a687c24575
712d4318e59bd2dc629f0ddebb257ca3(repo)
712d4318e59bd2dc629f0ddebb257ca3 --> d2345f23e5ef9f54c591c4a687c24575
38a94f1c2162803f571489d707d61021(title)
38a94f1c2162803f571489d707d61021 --> d2345f23e5ef9f54c591c4a687c24575
2b22b4998ac3e6a64d82e0147e71ee1b(result)
d2345f23e5ef9f54c591c4a687c24575 --> 2b22b4998ac3e6a64d82e0147e71ee1b
end
subgraph f77af509c413b86b6cd7e107cc623c73[meta_issue_body]
style f77af509c413b86b6cd7e107cc623c73 fill:#fff4de,stroke:#cece71
69a9852570720a3d35cb9dd52a281f71[meta_issue_body]
480d1cc478d23858e92d61225349b674(base)
480d1cc478d23858e92d61225349b674 --> 69a9852570720a3d35cb9dd52a281f71
37035ea5a06a282bdc1e1de24090a36d(readme_issue)
37035ea5a06a282bdc1e1de24090a36d --> 69a9852570720a3d35cb9dd52a281f71
fdf0dbb8ca47ee9022b3daeb8c7df9c0(readme_path)
fdf0dbb8ca47ee9022b3daeb8c7df9c0 --> 69a9852570720a3d35cb9dd52a281f71
428ca84f627c695362652cc7531fc27b(repo)
428ca84f627c695362652cc7531fc27b --> 69a9852570720a3d35cb9dd52a281f71
0cd9eb1ffb3c56d2b0a4359f800b1f20(result)
69a9852570720a3d35cb9dd52a281f71 --> 0cd9eb1ffb3c56d2b0a4359f800b1f20
end
subgraph 8506cba6514466fb6d65f33ace4b0eac[alice_contribute_readme]
style 8506cba6514466fb6d65f33ace4b0eac fill:#fff4de,stroke:#cece71
d4507d3d1c3fbf3e7e373eae24797667[alice_contribute_readme]
68cf7d6869d027ca46a5fb4dbf7001d1(repo)
68cf7d6869d027ca46a5fb4dbf7001d1 --> d4507d3d1c3fbf3e7e373eae24797667
2f9316539862f119f7c525bf9061e974(result)
d4507d3d1c3fbf3e7e373eae24797667 --> 2f9316539862f119f7c525bf9061e974
end
subgraph 4233e6dc67cba131d4ef005af9c02959[contribute_readme_md]
style 4233e6dc67cba131d4ef005af9c02959 fill:#fff4de,stroke:#cece71
3db0ee5d6ab83886bded5afd86f3f88f[contribute_readme_md]
37044e4d8610abe13849bc71a5cb7591(base)
37044e4d8610abe13849bc71a5cb7591 --> 3db0ee5d6ab83886bded5afd86f3f88f
631c051fe6050ae8f8fc3321ed00802d(commit_message)
631c051fe6050ae8f8fc3321ed00802d --> 3db0ee5d6ab83886bded5afd86f3f88f
182194bab776fc9bc406ed573d621b68(repo)
182194bab776fc9bc406ed573d621b68 --> 3db0ee5d6ab83886bded5afd86f3f88f
0ee9f524d2db12be854fe611fa8126dd(result)
3db0ee5d6ab83886bded5afd86f3f88f --> 0ee9f524d2db12be854fe611fa8126dd
end
subgraph a6080d9c45eb5f806a47152a18bf7830[create_readme_file_if_not_exists]
style a6080d9c45eb5f806a47152a18bf7830 fill:#fff4de,stroke:#cece71
67e388f508dd96084c37d236a2c67e67[create_readme_file_if_not_exists]
54faf20bfdca0e63d07efb3e5a984cf1(readme_contents)
54faf20bfdca0e63d07efb3e5a984cf1 --> 67e388f508dd96084c37d236a2c67e67
8c089c362960ccf181742334a3dccaea(repo)
8c089c362960ccf181742334a3dccaea --> 67e388f508dd96084c37d236a2c67e67
5cc65e17d40e6a7223c1504f1c4b0d2a(result)
67e388f508dd96084c37d236a2c67e67 --> 5cc65e17d40e6a7223c1504f1c4b0d2a
end
subgraph e7757158127e9845b2915c16a7fa80c5[readme_commit_message]
style e7757158127e9845b2915c16a7fa80c5 fill:#fff4de,stroke:#cece71
562bdc535c7cebfc66dba920b1a17540[readme_commit_message]
0af5cbea9050874a0a3cba73bb61f892(issue_url)
0af5cbea9050874a0a3cba73bb61f892 --> 562bdc535c7cebfc66dba920b1a17540
2641f3b67327fb7518ee34a3a40b0755(result)
562bdc535c7cebfc66dba920b1a17540 --> 2641f3b67327fb7518ee34a3a40b0755
end
subgraph cf99ff6fad80e9c21266b43fd67b2f7b[readme_issue]
style cf99ff6fad80e9c21266b43fd67b2f7b fill:#fff4de,stroke:#cece71
da44417f891a945085590baafffc2bdb[readme_issue]
d519830ab4e07ec391038e8581889ac3(body)
d519830ab4e07ec391038e8581889ac3 --> da44417f891a945085590baafffc2bdb
268852aa3fa8ab0864a32abae5a333f7(repo)
268852aa3fa8ab0864a32abae5a333f7 --> da44417f891a945085590baafffc2bdb
77a11dd29af309cf43ed321446c4bf01(title)
77a11dd29af309cf43ed321446c4bf01 --> da44417f891a945085590baafffc2bdb
1d2360c9da18fac0b6ec142df8f3fbda(result)
da44417f891a945085590baafffc2bdb --> 1d2360c9da18fac0b6ec142df8f3fbda
end
subgraph 7ec0442cf2d95c367912e8abee09b217[readme_pr]
style 7ec0442cf2d95c367912e8abee09b217 fill:#fff4de,stroke:#cece71
bb314dc452cde5b6af5ea94dd277ba40[readme_pr]
127d77c3047facc1daa621148c5a0a1d(base)
127d77c3047facc1daa621148c5a0a1d --> bb314dc452cde5b6af5ea94dd277ba40
cb421e4de153cbb912f7fbe57e4ad734(body)
cb421e4de153cbb912f7fbe57e4ad734 --> bb314dc452cde5b6af5ea94dd277ba40
cbf7a0b88c0a41953b245303f3e9a0d3(head)
cbf7a0b88c0a41953b245303f3e9a0d3 --> bb314dc452cde5b6af5ea94dd277ba40
e5f9ad44448abd2469b3fd9831f3d159(origin)
e5f9ad44448abd2469b3fd9831f3d159 --> bb314dc452cde5b6af5ea94dd277ba40
a35aee6711d240378eb57a3932537ca1(repo)
a35aee6711d240378eb57a3932537ca1 --> bb314dc452cde5b6af5ea94dd277ba40
dfcce88a7d605d46bf17de1159fbe5ad(title)
dfcce88a7d605d46bf17de1159fbe5ad --> bb314dc452cde5b6af5ea94dd277ba40
a210a7890a7bea8d629368e02da3d806(result)
bb314dc452cde5b6af5ea94dd277ba40 --> a210a7890a7bea8d629368e02da3d806
end
subgraph 227eabb1f1c5cc0bc931714a03049e27[readme_pr_body]
style 227eabb1f1c5cc0bc931714a03049e27 fill:#fff4de,stroke:#cece71
2aea976396cfe68dacd9bc7d4a3f0cba[readme_pr_body]
c5dfd309617c909b852afe0b4ae4a178(readme_issue)
c5dfd309617c909b852afe0b4ae4a178 --> 2aea976396cfe68dacd9bc7d4a3f0cba
40ddb5b508cb5643e7c91f7abdb72b84(result)
2aea976396cfe68dacd9bc7d4a3f0cba --> 40ddb5b508cb5643e7c91f7abdb72b84
end
subgraph 48687c84e69b3db0acca625cbe2e6b49[readme_pr_title]
style 48687c84e69b3db0acca625cbe2e6b49 fill:#fff4de,stroke:#cece71
d8668ff93f41bc241c8c540199cd7453[readme_pr_title]
3b2137dd1c61d0dac7d4e40fd6746cfb(readme_issue)
3b2137dd1c61d0dac7d4e40fd6746cfb --> d8668ff93f41bc241c8c540199cd7453
956e024fde513b3a449eac9ee42d6ab3(result)
d8668ff93f41bc241c8c540199cd7453 --> 956e024fde513b3a449eac9ee42d6ab3
end
subgraph d3ec0ac85209a7256c89d20f758f09f4[check_if_valid_git_repository_URL]
style d3ec0ac85209a7256c89d20f758f09f4 fill:#fff4de,stroke:#cece71
f577c71443f6b04596b3fe0511326c40[check_if_valid_git_repository_URL]
7440e73a8e8f864097f42162b74f2762(URL)
7440e73a8e8f864097f42162b74f2762 --> f577c71443f6b04596b3fe0511326c40
8e39b501b41c5d0e4596318f80a03210(valid)
f577c71443f6b04596b3fe0511326c40 --> 8e39b501b41c5d0e4596318f80a03210
end
subgraph af8da22d1318d911f29b95e687f87c5d[clone_git_repo]
style af8da22d1318d911f29b95e687f87c5d fill:#fff4de,stroke:#cece71
155b8fdb5524f6bfd5adbae4940ad8d5[clone_git_repo]
eed77b9eea541e0c378c67395351099c(URL)
eed77b9eea541e0c378c67395351099c --> 155b8fdb5524f6bfd5adbae4940ad8d5
8b5928cd265dd2c44d67d076f60c8b05(ssh_key)
8b5928cd265dd2c44d67d076f60c8b05 --> 155b8fdb5524f6bfd5adbae4940ad8d5
4e1d5ea96e050e46ebf95ebc0713d54c(repo)
155b8fdb5524f6bfd5adbae4940ad8d5 --> 4e1d5ea96e050e46ebf95ebc0713d54c
6a44de06a4a3518b939b27c790f6cdce{valid_git_repository_URL}
6a44de06a4a3518b939b27c790f6cdce --> 155b8fdb5524f6bfd5adbae4940ad8d5
end
subgraph d3d91578caf34c0ae944b17853783406[git_repo_default_branch]
style d3d91578caf34c0ae944b17853783406 fill:#fff4de,stroke:#cece71
546062a96122df465d2631f31df4e9e3[git_repo_default_branch]
181f1b33df4d795fbad2911ec7087e86(repo)
181f1b33df4d795fbad2911ec7087e86 --> 546062a96122df465d2631f31df4e9e3
57651c1bcd24b794dfc8d1794ab556d5(branch)
546062a96122df465d2631f31df4e9e3 --> 57651c1bcd24b794dfc8d1794ab556d5
5ed1ab77e726d7efdcc41e9e2f8039c6(remote)
546062a96122df465d2631f31df4e9e3 --> 5ed1ab77e726d7efdcc41e9e2f8039c6
4c3cdd5f15b7a846d291aac089e8a622{no_git_branch_given}
4c3cdd5f15b7a846d291aac089e8a622 --> 546062a96122df465d2631f31df4e9e3
end
end
subgraph a4827add25f5c7d5895c5728b74e2beb[Cleanup Stage]
style a4827add25f5c7d5895c5728b74e2beb fill:#afd388b5,stroke:#a4ca7a
end
subgraph 58ca4d24d2767176f196436c2890b926[Output Stage]
style 58ca4d24d2767176f196436c2890b926 fill:#afd388b5,stroke:#a4ca7a
end
subgraph inputs[Inputs]
style inputs fill:#f6dbf9,stroke:#a178ca
128516cfa09b0383023eab52ee24878a(seed<br>dffml.util.cli.CMD)
128516cfa09b0383023eab52ee24878a --> e07552ee3b6b7696cb3ddd786222eaad
ba29b52e9c5aa88ea1caeeff29bfd491 --> cee6b5fdd0b6fbd0539cdcdc7f5a3324
128516cfa09b0383023eab52ee24878a(seed<br>dffml.util.cli.CMD)
128516cfa09b0383023eab52ee24878a --> 330f463830aa97e88917d5a9d1c21500
128516cfa09b0383023eab52ee24878a(seed<br>dffml.util.cli.CMD)
128516cfa09b0383023eab52ee24878a --> dc7c5f0836f7d2564c402bf956722672
ba29b52e9c5aa88ea1caeeff29bfd491 --> 58d8518cb0d6ef6ad35dc242486f1beb
79e1ea6822bff603a835fb8ee80c7ff3 --> e824ae072860bc545fc7d55aa0bca479
135ee61e3402d6fcbd7a219b0b4ccd73 --> e824ae072860bc545fc7d55aa0bca479
40109d487bb9f08608d8c5f6e747042f --> 33d806f9b732bfd6b96ae2e9e4243a68
21ccfd2c550bd853d28581f0b0c9f9fe(seed<br>default.branch.name)
21ccfd2c550bd853d28581f0b0c9f9fe --> fdcb9b6113856222e30e093f7c38065e
dd5aab190ce844673819298c5b8fde76 --> bdcf4b078985f4a390e4ed4beacffa65
9b92d5a346885079a2821c4d27cb5174 --> bdcf4b078985f4a390e4ed4beacffa65
5a5493ab86ab4053f1d44302e7bdddd6 --> ff47cf65b58262acec28507f4427de45
57651c1bcd24b794dfc8d1794ab556d5 --> ff47cf65b58262acec28507f4427de45
4e1d5ea96e050e46ebf95ebc0713d54c --> e58180baf478fe910359358a3fa02234
40109d487bb9f08608d8c5f6e747042f --> c3bfe79b396a98ce2d9bfe772c9c20af
2a1c620b0d510c3d8ed35deda41851c5 --> 4934c6211334318c63a5e91530171c9b
2a1c620b0d510c3d8ed35deda41851c5 --> 5567dd8a6d7ae4fe86252db32e189a4d
5ed1ab77e726d7efdcc41e9e2f8039c6 --> 6c2b36393ffff6be0b4ad333df2d9419
dd5aab190ce844673819298c5b8fde76 --> 19a9ee483c1743e6ecf0a2dc3b6f8c7a
9b92d5a346885079a2821c4d27cb5174 --> 19a9ee483c1743e6ecf0a2dc3b6f8c7a
0cd9eb1ffb3c56d2b0a4359f800b1f20 --> 1d79010ee1550f057c531130814c40b9
dd5aab190ce844673819298c5b8fde76 --> 712d4318e59bd2dc629f0ddebb257ca3
9b92d5a346885079a2821c4d27cb5174 --> 712d4318e59bd2dc629f0ddebb257ca3
e7ad3469d98c3bd160363dbc47e2d741(seed<br>MetaIssueTitle)
e7ad3469d98c3bd160363dbc47e2d741 --> 38a94f1c2162803f571489d707d61021
150204cd2d5a921deb53c312418379a1 --> 480d1cc478d23858e92d61225349b674
1d2360c9da18fac0b6ec142df8f3fbda --> 37035ea5a06a282bdc1e1de24090a36d
5cc65e17d40e6a7223c1504f1c4b0d2a --> fdf0dbb8ca47ee9022b3daeb8c7df9c0
dd5aab190ce844673819298c5b8fde76 --> 428ca84f627c695362652cc7531fc27b
9b92d5a346885079a2821c4d27cb5174 --> 428ca84f627c695362652cc7531fc27b
dd5aab190ce844673819298c5b8fde76 --> 68cf7d6869d027ca46a5fb4dbf7001d1
9b92d5a346885079a2821c4d27cb5174 --> 68cf7d6869d027ca46a5fb4dbf7001d1
150204cd2d5a921deb53c312418379a1 --> 37044e4d8610abe13849bc71a5cb7591
2641f3b67327fb7518ee34a3a40b0755 --> 631c051fe6050ae8f8fc3321ed00802d
2f9316539862f119f7c525bf9061e974 --> 182194bab776fc9bc406ed573d621b68
d2708225c1f4c95d613a2645a17a5bc0(seed<br>repo.directory.readme.contents)
d2708225c1f4c95d613a2645a17a5bc0 --> 54faf20bfdca0e63d07efb3e5a984cf1
2f9316539862f119f7c525bf9061e974 --> 8c089c362960ccf181742334a3dccaea
1d2360c9da18fac0b6ec142df8f3fbda --> 0af5cbea9050874a0a3cba73bb61f892
1daacccd02f8117e67ad3cb8686a732c(seed<br>ReadmeIssueBody)
1daacccd02f8117e67ad3cb8686a732c --> d519830ab4e07ec391038e8581889ac3
2f9316539862f119f7c525bf9061e974 --> 268852aa3fa8ab0864a32abae5a333f7
0c1ab2d4bda10e1083557833ae5c5da4(seed<br>ReadmeIssueTitle)
0c1ab2d4bda10e1083557833ae5c5da4 --> 77a11dd29af309cf43ed321446c4bf01
150204cd2d5a921deb53c312418379a1 --> 127d77c3047facc1daa621148c5a0a1d
40ddb5b508cb5643e7c91f7abdb72b84 --> cb421e4de153cbb912f7fbe57e4ad734
0ee9f524d2db12be854fe611fa8126dd --> cbf7a0b88c0a41953b245303f3e9a0d3
b4cff8d194413f436d94f9d84ece0262 --> e5f9ad44448abd2469b3fd9831f3d159
2f9316539862f119f7c525bf9061e974 --> a35aee6711d240378eb57a3932537ca1
956e024fde513b3a449eac9ee42d6ab3 --> dfcce88a7d605d46bf17de1159fbe5ad
1d2360c9da18fac0b6ec142df8f3fbda --> c5dfd309617c909b852afe0b4ae4a178
1d2360c9da18fac0b6ec142df8f3fbda --> 3b2137dd1c61d0dac7d4e40fd6746cfb
8d0adc31da1a0919724baf73d047743c --> 7440e73a8e8f864097f42162b74f2762
8d0adc31da1a0919724baf73d047743c --> eed77b9eea541e0c378c67395351099c
a6ed501edbf561fda49a0a0a3ca310f0(seed<br>git_repo_ssh_key)
a6ed501edbf561fda49a0a0a3ca310f0 --> 8b5928cd265dd2c44d67d076f60c8b05
8e39b501b41c5d0e4596318f80a03210 --> 6a44de06a4a3518b939b27c790f6cdce
4e1d5ea96e050e46ebf95ebc0713d54c --> 181f1b33df4d795fbad2911ec7087e86
end
45$ gif-for-cli --rows $(tput lines) --cols $(tput cols) --export=/mnt/c/Users/Johnny/Downloads/alice-search-alices-adventures-in-wonderland-1.gif "Alice's Adventures in Wonderland" $ watch -n 0.2 'grep FEEDFACE .output/$(ls .output/ | tail -n 1) | sed -e "s/alice.please.contribute.recommended_community_standards.recommended_community_standards.//g" | grep -i repo' |
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-29 Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-07-29 @pdxjohnny Engineering Logs
$ alice; sleep 3; gif-for-cli -l 0 --rows $(tput lines) --cols $(tput cols) 3553903 $ gif-for-cli --rows `tput lines` --cols `tput cols` --export=alice-search-alices-adventures-in-wonderland-1.gif "Alice curtsy"
(why-thank-you-thanks-bow-thank-you-alice-in-wonderland-gif-3553903)
$ gif-for-cli --rows `tput lines` --cols `tput cols` --export=ascii-gif-alice-unbirthday-blow-out-candles-0.gif 26127117
$ gif-for-cli --rows `tput lines` --cols `tput cols` ascii-gif-alice-unbirthday-blow-out-candles-0.gif
$ echo gif-for-cli --rows `tput lines` --cols `tput cols`
gif-for-cli --rows 97 --cols 320
$ gif-for-cli -l 0 --rows `tput lines` --cols `tput cols` /mnt/c/Users/Johnny/Downloads/ascii-alices-adventures-in-wonderland-1.gif` Exploring a Helper Around Run DataFlow run_custom
diff --git a/dffml/df/base.py b/dffml/df/base.py
index 4f84c1c7c8..2da0512602 100644
--- a/dffml/df/base.py
+++ b/dffml/df/base.py
@@ -404,14 +404,19 @@ def op(
)
definition_name = ".".join(name_list)
+ print("FEEDFACE", name, definition_name)
if hasattr(param_annotation, "__supertype__") and hasattr(
param_annotation, "__name__"
):
+ if "repo" in definition_name:
+ breakpoint()
definition_name = param_annotation.__name__
+ print("FEEDFACE", name, definition_name)
if inspect.isclass(param_annotation) and hasattr(
param_annotation, "__qualname__"
):
definition_name = param_annotation.__qualname__
+ print("FEEDFACE", name, definition_name)
if isinstance(param_annotation, Definition):
kwargs["inputs"][name] = param_annotation
diff --git a/dffml/df/types.py b/dffml/df/types.py
index f09a8a3cea..54840f58c0 100644
--- a/dffml/df/types.py
+++ b/dffml/df/types.py
@@ -44,6 +44,7 @@ APPLY_INSTALLED_OVERLAYS = _APPLY_INSTALLED_OVERLAYS()
Expand = Union
+LockReadWrite = Union
primitive_types = (int, float, str, bool, dict, list, bytes)
@@ -65,7 +66,7 @@ def find_primitive(new_type: Type) -> Type:
)
-def new_type_to_defininition(new_type: Type) -> Type:
+def new_type_to_defininition(new_type: Type, lock: bool = False) -> Type:
"""
>>> from typing import NewType
>>> from dffml import new_type_to_defininition
@@ -77,6 +78,7 @@ def new_type_to_defininition(new_type: Type) -> Type:
return Definition(
name=new_type.__name__,
primitive=find_primitive(new_type).__qualname__,
+ lock=lock,
links=(
create_definition(
find_primitive(new_type).__qualname__, new_type.__supertype__
@@ -95,7 +97,28 @@ class CouldNotDeterminePrimitive(Exception):
"""
-def resolve_if_forward_ref(param_annotation, forward_refs_from_cls):
+DEFAULT_DEFINTION_ANNOTATIONS_HANDLERS = {
+ LockReadWrite: lambda definition: setattr(definition, "lock", True),
+}
+
+
+def resolve_if_forward_ref(
+ param_annotation,
+ forward_refs_from_cls,
+ *,
+ defintion_annotations_handlers=None,
+) -> Tuple[Union["Definition", Any], bool]:
+ """
+ Return values:
+
+ param_or_definition: Union[Definition, Any]
+ lock: bool
+
+ If the definition should be locked or not.
+ """
+ if defintion_annotations_handlers is None:
+ defintion_annotations_handlers = DEFAULT_DEFINTION_ANNOTATIONS_HANDLERS
+ annotations = {}
if isinstance(param_annotation, ForwardRef):
param_annotation = param_annotation.__forward_arg__
if (
@@ -104,11 +127,22 @@ def resolve_if_forward_ref(param_annotation, forward_refs_from_cls):
and hasattr(forward_refs_from_cls, param_annotation)
):
param_annotation = getattr(forward_refs_from_cls, param_annotation)
+ # Check if are in an annotation
+ param_annotation_origin = get_origin(param_annotation)
+ if param_annotation_origin in defintion_annotations_handlers:
+ annotations[
+ param_annotation_origin
+ ] = defintion_annotations_handlers[param_annotation_origin]
+ param_annotation = list(get_args(param_annotation))[0]
+ # Create definition
if hasattr(param_annotation, "__name__") and hasattr(
param_annotation, "__supertype__"
):
# typing.NewType support
- return new_type_to_defininition(param_annotation)
+ definition = new_type_to_defininition(param_annotation)
+ for handler in annotations.values():
+ handler(definition)
+ return definition
return param_annotation
@@ -118,6 +152,7 @@ def _create_definition(
default=NO_DEFAULT,
*,
forward_refs_from_cls: Optional[object] = None,
+ lock: bool = False,
):
param_annotation = resolve_if_forward_ref(
param_annotation, forward_refs_from_cls
@@ -138,12 +173,14 @@ def _create_definition(
elif get_origin(param_annotation) in [
Union,
collections.abc.AsyncIterator,
+ LockReadWrite,
]:
# If the annotation is of the form Optional
return create_definition(
name,
list(get_args(param_annotation))[0],
forward_refs_from_cls=forward_refs_from_cls,
+ lock=bool(get_origin(param_annotation) in (LockReadWrite,),),
)
elif (
get_origin(param_annotation) is list
@@ -235,6 +272,7 @@ def create_definition(
default=NO_DEFAULT,
*,
forward_refs_from_cls: Optional[object] = None,
+ lock: bool = False,
):
if hasattr(param_annotation, "__name__") and hasattr(
param_annotation, "__supertype__"
@@ -246,6 +284,7 @@ def create_definition(
param_annotation,
default=default,
forward_refs_from_cls=forward_refs_from_cls,
+ lock=lock,
)
# We can guess name if converting from NewType. However, we can't otherwise.
if not definition.name:
@@ -847,7 +886,9 @@ class DataFlow:
for operation in args:
name = getattr(getattr(operation, "op", operation), "name")
if name in operations:
- raise ValueError(f"Operation {name} given as positional and in dict")
+ raise ValueError(
+ f"Operation {name} given as positional and in dict"
+ )
operations[name] = operation
self.operations = operations
diff --git a/entities/alice/alice/please/contribute/recommended_community_standards/recommended_community_standards.py b/entities/alice/alice/please/contribute/recommended_community_standards/recommended_community_standards.py
index 825f949d65..0ff7e11c31 100644
--- a/entities/alice/alice/please/contribute/recommended_community_standards/recommended_community_standards.py
+++ b/entities/alice/alice/please/contribute/recommended_community_standards/recommended_community_standards.py
@@ -8,18 +8,21 @@ import dffml
import dffml_feature_git.feature.definitions
-class AliceGitRepo(NamedTuple):
+class AliceGitRepoSpec(NamedTuple):
directory: str
URL: str
+AliceGitRepo = dffml.LockReadWrite[AliceGitRepoSpec]
+
+
class AliceGitRepoInputSetContextHandle(dffml.BaseContextHandle):
def as_string(self) -> str:
return str(self.ctx.repo)
class AliceGitRepoInputSetContext(dffml.BaseInputSetContext):
- def __init__(self, repo: AliceGitRepo):
+ def __init__(self, repo: AliceGitRepoSpec):
self.repo = repo
async def handle(self) -> AliceGitRepoInputSetContextHandle:
async def alice_contribute_readme(self, repo: AliceGitRepo) -> ReadmeGitRepo:
key, definition = list(self.parent.op.outputs.items())[0]
await self.octx.ictx.cadd(
AliceGitRepoInputSetContext(repo),
dffml.Input(
value=repo,
definition=definition,
parents=None,
origin=(self.parent.op.instance_name, key),
)
) diff --git a/entities/alice/alice/please/contribute/recommended_community_standards/recommended_community_standards.py b/entities/alice/alice/please/contribute/recommended_community_standards/recommended_community_standards.py
index 825f949d65..1bc1c41e50 100644
--- a/entities/alice/alice/please/contribute/recommended_community_standards/recommended_community_standards.py
+++ b/entities/alice/alice/please/contribute/recommended_community_standards/recommended_community_standards.py
@@ -203,30 +203,22 @@ class OverlayREADME:
ReadmePRBody = NewType("github.pr.body", str)
# async def cli_run_on_repo(self, repo: "CLIRunOnRepo"):
- async def alice_contribute_readme(self, repo: AliceGitRepo) -> ReadmeGitRepo:
- # TODO Clean this up once SystemContext refactor complete
- readme_dataflow_cls_upstream = OverlayREADME
- readme_dataflow_cls_overlays = dffml.Overlay.load(
- entrypoint="dffml.overlays.alice.please.contribute.recommended_community_standards.overlay.readme"
- )
- readme_dataflow_upstream = dffml.DataFlow(
- *dffml.object_to_operations(readme_dataflow_cls_upstream)
- )
+ async def new_context(self, repo: AliceGitRepo) -> ReadmeGitRepo:
+ return
# auto_flow with overlays
- readme_dataflow = dffml.DataFlow(
+ dataflow = dffml.DataFlow(
*itertools.chain(
*[
dffml.object_to_operations(cls)
for cls in [
- readme_dataflow_cls_upstream,
- *readme_dataflow_cls_overlays,
+ upstream,
+ *overlays,
]
]
)
)
async with dffml.run_dataflow.imp(
- # dataflow=self.octx.config.dataflow,
- dataflow=readme_dataflow,
+ dataflow=dataflow,
input_set_context_cls=AliceGitRepoInputSetContext,
) as custom_run_dataflow:
# Copy all inputs from parent context into child. We eventually
@@ -277,6 +269,18 @@ class OverlayREADME:
},
)
+ async def alice_contribute_readme(self, repo: AliceGitRepo) -> ReadmeGitRepo:
+ key, definition = list(self.parent.op.outputs.items())[0]
+ await self.octx.ictx.cadd(
+ AliceGitRepoInputSetContext(repo),
+ dffml.Input(
+ value=repo,
+ definition=definition,
+ parents=None,
+ origin=(self.parent.op.instance_name, key),
+ )
+ )
+
# TODO Run this system context where readme contexts is given on CLI or
# overriden via disabling of static overlay and application of overlay to
# generate contents dynamiclly.
$ dffml service dev export alice.cli:AlicePleaseContributeCLIDataFlow | tee alice.please.contribute.recommended_community_standards.json
$ (echo -e 'HTTP/1.0 200 OK\n' && dffml dataflow diagram -shortname alice.please.contribute.recommended_community_standards.json) | nc -Nlp 9999; graph TD
subgraph a759a07029077edc5c37fea0326fa281[Processing Stage]
style a759a07029077edc5c37fea0326fa281 fill:#afd388b5,stroke:#a4ca7a
subgraph 8cfb8cd5b8620de4a7ebe0dfec00771a[cli_has_repos]
style 8cfb8cd5b8620de4a7ebe0dfec00771a fill:#fff4de,stroke:#cece71
d493c90433d19f11f33c2d72cd144940[cli_has_repos]
e07552ee3b6b7696cb3ddd786222eaad(cmd)
e07552ee3b6b7696cb3ddd786222eaad --> d493c90433d19f11f33c2d72cd144940
cee6b5fdd0b6fbd0539cdcdc7f5a3324(wanted)
cee6b5fdd0b6fbd0539cdcdc7f5a3324 --> d493c90433d19f11f33c2d72cd144940
79e1ea6822bff603a835fb8ee80c7ff3(result)
d493c90433d19f11f33c2d72cd144940 --> 79e1ea6822bff603a835fb8ee80c7ff3
end
subgraph 0c2b64320fb5666a034794bb2195ecf0[cli_is_asking_for_recommended_community_standards]
style 0c2b64320fb5666a034794bb2195ecf0 fill:#fff4de,stroke:#cece71
222ee6c0209f1f1b7a782bc1276868c7[cli_is_asking_for_recommended_community_standards]
330f463830aa97e88917d5a9d1c21500(cmd)
330f463830aa97e88917d5a9d1c21500 --> 222ee6c0209f1f1b7a782bc1276868c7
ba29b52e9c5aa88ea1caeeff29bfd491(result)
222ee6c0209f1f1b7a782bc1276868c7 --> ba29b52e9c5aa88ea1caeeff29bfd491
end
subgraph eac58e8db2b55cb9cc5474aaa402c93e[cli_is_meant_on_this_repo]
style eac58e8db2b55cb9cc5474aaa402c93e fill:#fff4de,stroke:#cece71
6c819ad0228b0e7094b33e0634da9a38[cli_is_meant_on_this_repo]
dc7c5f0836f7d2564c402bf956722672(cmd)
dc7c5f0836f7d2564c402bf956722672 --> 6c819ad0228b0e7094b33e0634da9a38
58d8518cb0d6ef6ad35dc242486f1beb(wanted)
58d8518cb0d6ef6ad35dc242486f1beb --> 6c819ad0228b0e7094b33e0634da9a38
135ee61e3402d6fcbd7a219b0b4ccd73(result)
6c819ad0228b0e7094b33e0634da9a38 --> 135ee61e3402d6fcbd7a219b0b4ccd73
end
subgraph 37887bf260c5c8e9bd18038401008bbc[cli_run_on_repo]
style 37887bf260c5c8e9bd18038401008bbc fill:#fff4de,stroke:#cece71
9d1042f33352800e54d98c9c5a4223df[cli_run_on_repo]
e824ae072860bc545fc7d55aa0bca479(repo)
e824ae072860bc545fc7d55aa0bca479 --> 9d1042f33352800e54d98c9c5a4223df
40109d487bb9f08608d8c5f6e747042f(result)
9d1042f33352800e54d98c9c5a4223df --> 40109d487bb9f08608d8c5f6e747042f
end
subgraph 66ecd0c1f2e08941c443ec9cd89ec589[guess_repo_string_is_directory]
style 66ecd0c1f2e08941c443ec9cd89ec589 fill:#fff4de,stroke:#cece71
737d719a0c348ff65456024ddbc530fe[guess_repo_string_is_directory]
33d806f9b732bfd6b96ae2e9e4243a68(repo_string)
33d806f9b732bfd6b96ae2e9e4243a68 --> 737d719a0c348ff65456024ddbc530fe
dd5aab190ce844673819298c5b8fde76(result)
737d719a0c348ff65456024ddbc530fe --> dd5aab190ce844673819298c5b8fde76
end
subgraph 2bcd191634373f4b97ecb9546df23ee5[alice_contribute_contributing]
style 2bcd191634373f4b97ecb9546df23ee5 fill:#fff4de,stroke:#cece71
a2541ce40b2e5453e8e919021011e5e4[alice_contribute_contributing]
3786b4af914402320d260d077844620e(repo)
3786b4af914402320d260d077844620e --> a2541ce40b2e5453e8e919021011e5e4
da4270ecc44b6d9eed9809a560d24a28(result)
a2541ce40b2e5453e8e919021011e5e4 --> da4270ecc44b6d9eed9809a560d24a28
end
subgraph 13b430e6b93de7e40957165687f8e593[contribute_contributing_md]
style 13b430e6b93de7e40957165687f8e593 fill:#fff4de,stroke:#cece71
ff8f8968322872ccc3cf151d167e22a2[contribute_contributing_md]
4f752ce18209f62ed749e88dd1f70266(base)
4f752ce18209f62ed749e88dd1f70266 --> ff8f8968322872ccc3cf151d167e22a2
2def8c6923c832adf33989b26c91295a(commit_message)
2def8c6923c832adf33989b26c91295a --> ff8f8968322872ccc3cf151d167e22a2
f5548fcbcec8745ddf04104fc78e83a3(repo)
f5548fcbcec8745ddf04104fc78e83a3 --> ff8f8968322872ccc3cf151d167e22a2
24292ae12efd27a227a0d6368ba01faa(result)
ff8f8968322872ccc3cf151d167e22a2 --> 24292ae12efd27a227a0d6368ba01faa
end
subgraph 71a5f33f393735fa1cc91419b43db115[contributing_commit_message]
style 71a5f33f393735fa1cc91419b43db115 fill:#fff4de,stroke:#cece71
d034a42488583464e601bcaee619a539[contributing_commit_message]
c0a0fa68a872adf890ed639e07ed5882(issue_url)
c0a0fa68a872adf890ed639e07ed5882 --> d034a42488583464e601bcaee619a539
ce14ca2191f2b1c13c605b240e797255(result)
d034a42488583464e601bcaee619a539 --> ce14ca2191f2b1c13c605b240e797255
end
subgraph db8a1253cc59982323848f5e42c23c9d[contributing_issue]
style db8a1253cc59982323848f5e42c23c9d fill:#fff4de,stroke:#cece71
c39bd2cc88723432048c434fdd337eab[contributing_issue]
821d21e8a69d1fa1757147e7e768f306(body)
821d21e8a69d1fa1757147e7e768f306 --> c39bd2cc88723432048c434fdd337eab
0581b90c76b0a4635a968682b060abff(repo)
0581b90c76b0a4635a968682b060abff --> c39bd2cc88723432048c434fdd337eab
809719538467f6d0bf18f7ae26f08d80(title)
809719538467f6d0bf18f7ae26f08d80 --> c39bd2cc88723432048c434fdd337eab
c9f2ea5a7f25b3ae9fbf5041be5fa071(result)
c39bd2cc88723432048c434fdd337eab --> c9f2ea5a7f25b3ae9fbf5041be5fa071
end
subgraph 1e6046d1a567bf390566b1b995df9dcf[contributing_pr]
style 1e6046d1a567bf390566b1b995df9dcf fill:#fff4de,stroke:#cece71
4ec1433342f2f12ab8c59efab20e7b06[contributing_pr]
bb85c3467b05192c99a3954968c7a612(base)
bb85c3467b05192c99a3954968c7a612 --> 4ec1433342f2f12ab8c59efab20e7b06
77f6c1c6b7ee62881b49c289097dfbde(body)
77f6c1c6b7ee62881b49c289097dfbde --> 4ec1433342f2f12ab8c59efab20e7b06
a0a2fabc65fe5601c7ea289124d04f70(head)
a0a2fabc65fe5601c7ea289124d04f70 --> 4ec1433342f2f12ab8c59efab20e7b06
cf92708915b9f41cb490b991abd6c374(origin)
cf92708915b9f41cb490b991abd6c374 --> 4ec1433342f2f12ab8c59efab20e7b06
210ae36c85f3597c248e0b32da7661ae(repo)
210ae36c85f3597c248e0b32da7661ae --> 4ec1433342f2f12ab8c59efab20e7b06
1700dc637c25bd503077a2a1422142e2(title)
1700dc637c25bd503077a2a1422142e2 --> 4ec1433342f2f12ab8c59efab20e7b06
806e8c455d2bb7ad68112d2a7e16eed6(result)
4ec1433342f2f12ab8c59efab20e7b06 --> 806e8c455d2bb7ad68112d2a7e16eed6
end
subgraph 04c27c13241164ae88456c1377995897[contributing_pr_body]
style 04c27c13241164ae88456c1377995897 fill:#fff4de,stroke:#cece71
a3cebe78451142664930d44ad4d7d181[contributing_pr_body]
6118470d0158ef1a220fe7c7232e1b63(contributing_issue)
6118470d0158ef1a220fe7c7232e1b63 --> a3cebe78451142664930d44ad4d7d181
99a7dd1ae037153eef80e1dee51b9d2b(result)
a3cebe78451142664930d44ad4d7d181 --> 99a7dd1ae037153eef80e1dee51b9d2b
end
subgraph 0d4627f8d8564b6c4ba33c12dcb58fc1[contributing_pr_title]
style 0d4627f8d8564b6c4ba33c12dcb58fc1 fill:#fff4de,stroke:#cece71
bfa172a9399604546048d60db0a36187[contributing_pr_title]
0fd26f9166ccca10c68e9aefa9c15767(contributing_issue)
0fd26f9166ccca10c68e9aefa9c15767 --> bfa172a9399604546048d60db0a36187
77a2f9d4dfad5f520f1502e8ba70e47a(result)
bfa172a9399604546048d60db0a36187 --> 77a2f9d4dfad5f520f1502e8ba70e47a
end
subgraph c67b92ef6a2e025ca086bc2f89d9afbb[create_contributing_file_if_not_exists]
style c67b92ef6a2e025ca086bc2f89d9afbb fill:#fff4de,stroke:#cece71
993a1fe069a02a45ba3579b1902b2a36[create_contributing_file_if_not_exists]
401c179bb30b24c2ca989c64d0b1cdc7(contributing_contents)
401c179bb30b24c2ca989c64d0b1cdc7 --> 993a1fe069a02a45ba3579b1902b2a36
dde78f81b1bdfe02c0a2bf6e51f65cb4(repo)
dde78f81b1bdfe02c0a2bf6e51f65cb4 --> 993a1fe069a02a45ba3579b1902b2a36
e5b8d158dc0ec476dbbd44549a981815(result)
993a1fe069a02a45ba3579b1902b2a36 --> e5b8d158dc0ec476dbbd44549a981815
end
subgraph 4ea6696419c4a0862a4f63ea1f60c751[create_branch_if_none_exists]
style 4ea6696419c4a0862a4f63ea1f60c751 fill:#fff4de,stroke:#cece71
502369b37882b300d6620d5b4020f5b2[create_branch_if_none_exists]
fdcb9b6113856222e30e093f7c38065e(name)
fdcb9b6113856222e30e093f7c38065e --> 502369b37882b300d6620d5b4020f5b2
bdcf4b078985f4a390e4ed4beacffa65(repo)
bdcf4b078985f4a390e4ed4beacffa65 --> 502369b37882b300d6620d5b4020f5b2
5a5493ab86ab4053f1d44302e7bdddd6(result)
502369b37882b300d6620d5b4020f5b2 --> 5a5493ab86ab4053f1d44302e7bdddd6
end
subgraph b1d510183f6a4c3fde207a4656c72cb4[determin_base_branch]
style b1d510183f6a4c3fde207a4656c72cb4 fill:#fff4de,stroke:#cece71
476aecd4d4d712cda1879feba46ea109[determin_base_branch]
ff47cf65b58262acec28507f4427de45(default_branch)
ff47cf65b58262acec28507f4427de45 --> 476aecd4d4d712cda1879feba46ea109
150204cd2d5a921deb53c312418379a1(result)
476aecd4d4d712cda1879feba46ea109 --> 150204cd2d5a921deb53c312418379a1
end
subgraph 2a08ff341f159c170b7fe017eaad2f18[git_repo_to_alice_git_repo]
style 2a08ff341f159c170b7fe017eaad2f18 fill:#fff4de,stroke:#cece71
7f74112f6d30c6289caa0a000e87edab[git_repo_to_alice_git_repo]
e58180baf478fe910359358a3fa02234(repo)
e58180baf478fe910359358a3fa02234 --> 7f74112f6d30c6289caa0a000e87edab
9b92d5a346885079a2821c4d27cb5174(result)
7f74112f6d30c6289caa0a000e87edab --> 9b92d5a346885079a2821c4d27cb5174
end
subgraph b5d35aa8a8dcd28d22d47caad02676b0[guess_repo_string_is_url]
style b5d35aa8a8dcd28d22d47caad02676b0 fill:#fff4de,stroke:#cece71
0de074e71a32e30889b8bb400cf8db9f[guess_repo_string_is_url]
c3bfe79b396a98ce2d9bfe772c9c20af(repo_string)
c3bfe79b396a98ce2d9bfe772c9c20af --> 0de074e71a32e30889b8bb400cf8db9f
2a1c620b0d510c3d8ed35deda41851c5(result)
0de074e71a32e30889b8bb400cf8db9f --> 2a1c620b0d510c3d8ed35deda41851c5
end
subgraph 60791520c6d124c0bf15e599132b0caf[guessed_repo_string_is_operations_git_url]
style 60791520c6d124c0bf15e599132b0caf fill:#fff4de,stroke:#cece71
102f173505d7b546236cdeff191369d4[guessed_repo_string_is_operations_git_url]
4934c6211334318c63a5e91530171c9b(repo_url)
4934c6211334318c63a5e91530171c9b --> 102f173505d7b546236cdeff191369d4
8d0adc31da1a0919724baf73d047743c(result)
102f173505d7b546236cdeff191369d4 --> 8d0adc31da1a0919724baf73d047743c
end
subgraph f2c7b93622447999daab403713239ada[guessed_repo_string_means_no_git_branch_given]
style f2c7b93622447999daab403713239ada fill:#fff4de,stroke:#cece71
c8294a87e7aae8f7f9cb7f53e054fed5[guessed_repo_string_means_no_git_branch_given]
5567dd8a6d7ae4fe86252db32e189a4d(repo_url)
5567dd8a6d7ae4fe86252db32e189a4d --> c8294a87e7aae8f7f9cb7f53e054fed5
d888e6b64b5e3496056088f14dab9894(result)
c8294a87e7aae8f7f9cb7f53e054fed5 --> d888e6b64b5e3496056088f14dab9894
end
subgraph 113addf4beee5305fdc79d2363608f9d[github_owns_remote]
style 113addf4beee5305fdc79d2363608f9d fill:#fff4de,stroke:#cece71
049b72b81b976fbb43607bfeeb0464c5[github_owns_remote]
6c2b36393ffff6be0b4ad333df2d9419(remote)
6c2b36393ffff6be0b4ad333df2d9419 --> 049b72b81b976fbb43607bfeeb0464c5
19a9ee483c1743e6ecf0a2dc3b6f8c7a(repo)
19a9ee483c1743e6ecf0a2dc3b6f8c7a --> 049b72b81b976fbb43607bfeeb0464c5
b4cff8d194413f436d94f9d84ece0262(result)
049b72b81b976fbb43607bfeeb0464c5 --> b4cff8d194413f436d94f9d84ece0262
end
subgraph 8506cba6514466fb6d65f33ace4b0eac[alice_contribute_readme]
style 8506cba6514466fb6d65f33ace4b0eac fill:#fff4de,stroke:#cece71
d4507d3d1c3fbf3e7e373eae24797667[alice_contribute_readme]
68cf7d6869d027ca46a5fb4dbf7001d1(repo)
68cf7d6869d027ca46a5fb4dbf7001d1 --> d4507d3d1c3fbf3e7e373eae24797667
2f9316539862f119f7c525bf9061e974(result)
d4507d3d1c3fbf3e7e373eae24797667 --> 2f9316539862f119f7c525bf9061e974
end
subgraph 4233e6dc67cba131d4ef005af9c02959[contribute_readme_md]
style 4233e6dc67cba131d4ef005af9c02959 fill:#fff4de,stroke:#cece71
3db0ee5d6ab83886bded5afd86f3f88f[contribute_readme_md]
37044e4d8610abe13849bc71a5cb7591(base)
37044e4d8610abe13849bc71a5cb7591 --> 3db0ee5d6ab83886bded5afd86f3f88f
631c051fe6050ae8f8fc3321ed00802d(commit_message)
631c051fe6050ae8f8fc3321ed00802d --> 3db0ee5d6ab83886bded5afd86f3f88f
182194bab776fc9bc406ed573d621b68(repo)
182194bab776fc9bc406ed573d621b68 --> 3db0ee5d6ab83886bded5afd86f3f88f
0ee9f524d2db12be854fe611fa8126dd(result)
3db0ee5d6ab83886bded5afd86f3f88f --> 0ee9f524d2db12be854fe611fa8126dd
end
subgraph a6080d9c45eb5f806a47152a18bf7830[create_readme_file_if_not_exists]
style a6080d9c45eb5f806a47152a18bf7830 fill:#fff4de,stroke:#cece71
67e388f508dd96084c37d236a2c67e67[create_readme_file_if_not_exists]
54faf20bfdca0e63d07efb3e5a984cf1(readme_contents)
54faf20bfdca0e63d07efb3e5a984cf1 --> 67e388f508dd96084c37d236a2c67e67
8c089c362960ccf181742334a3dccaea(repo)
8c089c362960ccf181742334a3dccaea --> 67e388f508dd96084c37d236a2c67e67
5cc65e17d40e6a7223c1504f1c4b0d2a(result)
67e388f508dd96084c37d236a2c67e67 --> 5cc65e17d40e6a7223c1504f1c4b0d2a
end
subgraph e7757158127e9845b2915c16a7fa80c5[readme_commit_message]
style e7757158127e9845b2915c16a7fa80c5 fill:#fff4de,stroke:#cece71
562bdc535c7cebfc66dba920b1a17540[readme_commit_message]
0af5cbea9050874a0a3cba73bb61f892(issue_url)
0af5cbea9050874a0a3cba73bb61f892 --> 562bdc535c7cebfc66dba920b1a17540
2641f3b67327fb7518ee34a3a40b0755(result)
562bdc535c7cebfc66dba920b1a17540 --> 2641f3b67327fb7518ee34a3a40b0755
end
subgraph cf99ff6fad80e9c21266b43fd67b2f7b[readme_issue]
style cf99ff6fad80e9c21266b43fd67b2f7b fill:#fff4de,stroke:#cece71
da44417f891a945085590baafffc2bdb[readme_issue]
d519830ab4e07ec391038e8581889ac3(body)
d519830ab4e07ec391038e8581889ac3 --> da44417f891a945085590baafffc2bdb
268852aa3fa8ab0864a32abae5a333f7(repo)
268852aa3fa8ab0864a32abae5a333f7 --> da44417f891a945085590baafffc2bdb
77a11dd29af309cf43ed321446c4bf01(title)
77a11dd29af309cf43ed321446c4bf01 --> da44417f891a945085590baafffc2bdb
1d2360c9da18fac0b6ec142df8f3fbda(result)
da44417f891a945085590baafffc2bdb --> 1d2360c9da18fac0b6ec142df8f3fbda
end
subgraph 7ec0442cf2d95c367912e8abee09b217[readme_pr]
style 7ec0442cf2d95c367912e8abee09b217 fill:#fff4de,stroke:#cece71
bb314dc452cde5b6af5ea94dd277ba40[readme_pr]
127d77c3047facc1daa621148c5a0a1d(base)
127d77c3047facc1daa621148c5a0a1d --> bb314dc452cde5b6af5ea94dd277ba40
cb421e4de153cbb912f7fbe57e4ad734(body)
cb421e4de153cbb912f7fbe57e4ad734 --> bb314dc452cde5b6af5ea94dd277ba40
cbf7a0b88c0a41953b245303f3e9a0d3(head)
cbf7a0b88c0a41953b245303f3e9a0d3 --> bb314dc452cde5b6af5ea94dd277ba40
e5f9ad44448abd2469b3fd9831f3d159(origin)
e5f9ad44448abd2469b3fd9831f3d159 --> bb314dc452cde5b6af5ea94dd277ba40
a35aee6711d240378eb57a3932537ca1(repo)
a35aee6711d240378eb57a3932537ca1 --> bb314dc452cde5b6af5ea94dd277ba40
dfcce88a7d605d46bf17de1159fbe5ad(title)
dfcce88a7d605d46bf17de1159fbe5ad --> bb314dc452cde5b6af5ea94dd277ba40
a210a7890a7bea8d629368e02da3d806(result)
bb314dc452cde5b6af5ea94dd277ba40 --> a210a7890a7bea8d629368e02da3d806
end
subgraph 227eabb1f1c5cc0bc931714a03049e27[readme_pr_body]
style 227eabb1f1c5cc0bc931714a03049e27 fill:#fff4de,stroke:#cece71
2aea976396cfe68dacd9bc7d4a3f0cba[readme_pr_body]
c5dfd309617c909b852afe0b4ae4a178(readme_issue)
c5dfd309617c909b852afe0b4ae4a178 --> 2aea976396cfe68dacd9bc7d4a3f0cba
40ddb5b508cb5643e7c91f7abdb72b84(result)
2aea976396cfe68dacd9bc7d4a3f0cba --> 40ddb5b508cb5643e7c91f7abdb72b84
end
subgraph 48687c84e69b3db0acca625cbe2e6b49[readme_pr_title]
style 48687c84e69b3db0acca625cbe2e6b49 fill:#fff4de,stroke:#cece71
d8668ff93f41bc241c8c540199cd7453[readme_pr_title]
3b2137dd1c61d0dac7d4e40fd6746cfb(readme_issue)
3b2137dd1c61d0dac7d4e40fd6746cfb --> d8668ff93f41bc241c8c540199cd7453
956e024fde513b3a449eac9ee42d6ab3(result)
d8668ff93f41bc241c8c540199cd7453 --> 956e024fde513b3a449eac9ee42d6ab3
end
subgraph d3ec0ac85209a7256c89d20f758f09f4[check_if_valid_git_repository_URL]
style d3ec0ac85209a7256c89d20f758f09f4 fill:#fff4de,stroke:#cece71
f577c71443f6b04596b3fe0511326c40[check_if_valid_git_repository_URL]
7440e73a8e8f864097f42162b74f2762(URL)
7440e73a8e8f864097f42162b74f2762 --> f577c71443f6b04596b3fe0511326c40
8e39b501b41c5d0e4596318f80a03210(valid)
f577c71443f6b04596b3fe0511326c40 --> 8e39b501b41c5d0e4596318f80a03210
end
subgraph af8da22d1318d911f29b95e687f87c5d[clone_git_repo]
style af8da22d1318d911f29b95e687f87c5d fill:#fff4de,stroke:#cece71
155b8fdb5524f6bfd5adbae4940ad8d5[clone_git_repo]
eed77b9eea541e0c378c67395351099c(URL)
eed77b9eea541e0c378c67395351099c --> 155b8fdb5524f6bfd5adbae4940ad8d5
8b5928cd265dd2c44d67d076f60c8b05(ssh_key)
8b5928cd265dd2c44d67d076f60c8b05 --> 155b8fdb5524f6bfd5adbae4940ad8d5
4e1d5ea96e050e46ebf95ebc0713d54c(repo)
155b8fdb5524f6bfd5adbae4940ad8d5 --> 4e1d5ea96e050e46ebf95ebc0713d54c
6a44de06a4a3518b939b27c790f6cdce{valid_git_repository_URL}
6a44de06a4a3518b939b27c790f6cdce --> 155b8fdb5524f6bfd5adbae4940ad8d5
end
subgraph d3d91578caf34c0ae944b17853783406[git_repo_default_branch]
style d3d91578caf34c0ae944b17853783406 fill:#fff4de,stroke:#cece71
546062a96122df465d2631f31df4e9e3[git_repo_default_branch]
181f1b33df4d795fbad2911ec7087e86(repo)
181f1b33df4d795fbad2911ec7087e86 --> 546062a96122df465d2631f31df4e9e3
57651c1bcd24b794dfc8d1794ab556d5(branch)
546062a96122df465d2631f31df4e9e3 --> 57651c1bcd24b794dfc8d1794ab556d5
5ed1ab77e726d7efdcc41e9e2f8039c6(remote)
546062a96122df465d2631f31df4e9e3 --> 5ed1ab77e726d7efdcc41e9e2f8039c6
4c3cdd5f15b7a846d291aac089e8a622{no_git_branch_given}
4c3cdd5f15b7a846d291aac089e8a622 --> 546062a96122df465d2631f31df4e9e3
end
end
subgraph a4827add25f5c7d5895c5728b74e2beb[Cleanup Stage]
style a4827add25f5c7d5895c5728b74e2beb fill:#afd388b5,stroke:#a4ca7a
end
subgraph 58ca4d24d2767176f196436c2890b926[Output Stage]
style 58ca4d24d2767176f196436c2890b926 fill:#afd388b5,stroke:#a4ca7a
end
subgraph inputs[Inputs]
style inputs fill:#f6dbf9,stroke:#a178ca
128516cfa09b0383023eab52ee24878a(seed<br>dffml.util.cli.CMD)
128516cfa09b0383023eab52ee24878a --> e07552ee3b6b7696cb3ddd786222eaad
ba29b52e9c5aa88ea1caeeff29bfd491 --> cee6b5fdd0b6fbd0539cdcdc7f5a3324
128516cfa09b0383023eab52ee24878a(seed<br>dffml.util.cli.CMD)
128516cfa09b0383023eab52ee24878a --> 330f463830aa97e88917d5a9d1c21500
128516cfa09b0383023eab52ee24878a(seed<br>dffml.util.cli.CMD)
128516cfa09b0383023eab52ee24878a --> dc7c5f0836f7d2564c402bf956722672
ba29b52e9c5aa88ea1caeeff29bfd491 --> 58d8518cb0d6ef6ad35dc242486f1beb
79e1ea6822bff603a835fb8ee80c7ff3 --> e824ae072860bc545fc7d55aa0bca479
135ee61e3402d6fcbd7a219b0b4ccd73 --> e824ae072860bc545fc7d55aa0bca479
40109d487bb9f08608d8c5f6e747042f --> 33d806f9b732bfd6b96ae2e9e4243a68
dd5aab190ce844673819298c5b8fde76 --> 3786b4af914402320d260d077844620e
9b92d5a346885079a2821c4d27cb5174 --> 3786b4af914402320d260d077844620e
150204cd2d5a921deb53c312418379a1 --> 4f752ce18209f62ed749e88dd1f70266
ce14ca2191f2b1c13c605b240e797255 --> 2def8c6923c832adf33989b26c91295a
da4270ecc44b6d9eed9809a560d24a28 --> f5548fcbcec8745ddf04104fc78e83a3
c9f2ea5a7f25b3ae9fbf5041be5fa071 --> c0a0fa68a872adf890ed639e07ed5882
c94383981c3a071b8c3df7293c8c7c92(seed<br>ContributingIssueBody)
c94383981c3a071b8c3df7293c8c7c92 --> 821d21e8a69d1fa1757147e7e768f306
da4270ecc44b6d9eed9809a560d24a28 --> 0581b90c76b0a4635a968682b060abff
90c6a88275f27b28dc12f5741ac1652f(seed<br>ContributingIssueTitle)
90c6a88275f27b28dc12f5741ac1652f --> 809719538467f6d0bf18f7ae26f08d80
150204cd2d5a921deb53c312418379a1 --> bb85c3467b05192c99a3954968c7a612
99a7dd1ae037153eef80e1dee51b9d2b --> 77f6c1c6b7ee62881b49c289097dfbde
24292ae12efd27a227a0d6368ba01faa --> a0a2fabc65fe5601c7ea289124d04f70
b4cff8d194413f436d94f9d84ece0262 --> cf92708915b9f41cb490b991abd6c374
da4270ecc44b6d9eed9809a560d24a28 --> 210ae36c85f3597c248e0b32da7661ae
77a2f9d4dfad5f520f1502e8ba70e47a --> 1700dc637c25bd503077a2a1422142e2
c9f2ea5a7f25b3ae9fbf5041be5fa071 --> 6118470d0158ef1a220fe7c7232e1b63
c9f2ea5a7f25b3ae9fbf5041be5fa071 --> 0fd26f9166ccca10c68e9aefa9c15767
90b3c16d6d8884aa6f70b475d98f661b(seed<br>repo.directory.contributing.contents)
90b3c16d6d8884aa6f70b475d98f661b --> 401c179bb30b24c2ca989c64d0b1cdc7
da4270ecc44b6d9eed9809a560d24a28 --> dde78f81b1bdfe02c0a2bf6e51f65cb4
21ccfd2c550bd853d28581f0b0c9f9fe(seed<br>default.branch.name)
21ccfd2c550bd853d28581f0b0c9f9fe --> fdcb9b6113856222e30e093f7c38065e
dd5aab190ce844673819298c5b8fde76 --> bdcf4b078985f4a390e4ed4beacffa65
9b92d5a346885079a2821c4d27cb5174 --> bdcf4b078985f4a390e4ed4beacffa65
5a5493ab86ab4053f1d44302e7bdddd6 --> ff47cf65b58262acec28507f4427de45
57651c1bcd24b794dfc8d1794ab556d5 --> ff47cf65b58262acec28507f4427de45
4e1d5ea96e050e46ebf95ebc0713d54c --> e58180baf478fe910359358a3fa02234
40109d487bb9f08608d8c5f6e747042f --> c3bfe79b396a98ce2d9bfe772c9c20af
2a1c620b0d510c3d8ed35deda41851c5 --> 4934c6211334318c63a5e91530171c9b
2a1c620b0d510c3d8ed35deda41851c5 --> 5567dd8a6d7ae4fe86252db32e189a4d
5ed1ab77e726d7efdcc41e9e2f8039c6 --> 6c2b36393ffff6be0b4ad333df2d9419
dd5aab190ce844673819298c5b8fde76 --> 19a9ee483c1743e6ecf0a2dc3b6f8c7a
9b92d5a346885079a2821c4d27cb5174 --> 19a9ee483c1743e6ecf0a2dc3b6f8c7a
dd5aab190ce844673819298c5b8fde76 --> 68cf7d6869d027ca46a5fb4dbf7001d1
9b92d5a346885079a2821c4d27cb5174 --> 68cf7d6869d027ca46a5fb4dbf7001d1
150204cd2d5a921deb53c312418379a1 --> 37044e4d8610abe13849bc71a5cb7591
2641f3b67327fb7518ee34a3a40b0755 --> 631c051fe6050ae8f8fc3321ed00802d
2f9316539862f119f7c525bf9061e974 --> 182194bab776fc9bc406ed573d621b68
d2708225c1f4c95d613a2645a17a5bc0(seed<br>repo.directory.readme.contents)
d2708225c1f4c95d613a2645a17a5bc0 --> 54faf20bfdca0e63d07efb3e5a984cf1
2f9316539862f119f7c525bf9061e974 --> 8c089c362960ccf181742334a3dccaea
1d2360c9da18fac0b6ec142df8f3fbda --> 0af5cbea9050874a0a3cba73bb61f892
1daacccd02f8117e67ad3cb8686a732c(seed<br>ReadmeIssueBody)
1daacccd02f8117e67ad3cb8686a732c --> d519830ab4e07ec391038e8581889ac3
2f9316539862f119f7c525bf9061e974 --> 268852aa3fa8ab0864a32abae5a333f7
0c1ab2d4bda10e1083557833ae5c5da4(seed<br>ReadmeIssueTitle)
0c1ab2d4bda10e1083557833ae5c5da4 --> 77a11dd29af309cf43ed321446c4bf01
150204cd2d5a921deb53c312418379a1 --> 127d77c3047facc1daa621148c5a0a1d
40ddb5b508cb5643e7c91f7abdb72b84 --> cb421e4de153cbb912f7fbe57e4ad734
0ee9f524d2db12be854fe611fa8126dd --> cbf7a0b88c0a41953b245303f3e9a0d3
b4cff8d194413f436d94f9d84ece0262 --> e5f9ad44448abd2469b3fd9831f3d159
2f9316539862f119f7c525bf9061e974 --> a35aee6711d240378eb57a3932537ca1
956e024fde513b3a449eac9ee42d6ab3 --> dfcce88a7d605d46bf17de1159fbe5ad
1d2360c9da18fac0b6ec142df8f3fbda --> c5dfd309617c909b852afe0b4ae4a178
1d2360c9da18fac0b6ec142df8f3fbda --> 3b2137dd1c61d0dac7d4e40fd6746cfb
8d0adc31da1a0919724baf73d047743c --> 7440e73a8e8f864097f42162b74f2762
8d0adc31da1a0919724baf73d047743c --> eed77b9eea541e0c378c67395351099c
a6ed501edbf561fda49a0a0a3ca310f0(seed<br>git_repo_ssh_key)
a6ed501edbf561fda49a0a0a3ca310f0 --> 8b5928cd265dd2c44d67d076f60c8b05
8e39b501b41c5d0e4596318f80a03210 --> 6a44de06a4a3518b939b27c790f6cdce
4e1d5ea96e050e46ebf95ebc0713d54c --> 181f1b33df4d795fbad2911ec7087e86
end
$ for pr in $(gh -R https://github.com/pdxjohnny/testaaaa pr list --json number --jq '.[].number'); do gh -R https://github.com/pdxjohnny/testaaaa pr close "${pr}"; done
✓ Closed pull request #222 (Recommended Community Standard: README)
✓ Closed pull request #219 (Recommended Community Standard: CONTRIBUTING)
$ nodemon -e py --exec 'clear; for pr in $(gh -R https://github.com/pdxjohnny/testaaaa pr list --json number --jq '.[].number'); do gh -R https://github.com/pdxjohnny/testaaaa pr close "${pr}"; done; (alice please contribute -log debug -repos https://github.com/pdxjohnny/testaaaa -- recommended community standards; gh -R https://github.com/pdxjohnny/testaaaa pr list) 2>&1 | tee .output/$(date +%4Y-%m-%d-%H-%M).txt; test 1'
$ less -S .output/$(ls .output/ | tail -n 1) Refactor into README and CONTRIBUTING Overlays
diff --git a/dffml/df/memory.py b/dffml/df/memory.py
index 59286d4927..87c75d637b 100644
--- a/dffml/df/memory.py
+++ b/dffml/df/memory.py
@@ -377,6 +377,7 @@ class MemoryInputNetworkContext(BaseInputNetworkContext):
self.ctxhd[handle_string].by_origin[item.origin] = []
# Add input to by origin set
self.ctxhd[handle_string].by_origin[item.origin].append(item)
+ self.logger.debug("Added to %s: %r", handle_string, item)
async def uadd(self, *args: Input):
"""
diff --git a/entities/alice/alice/please/contribute/recommended_community_standards/recommended_community_standards.py b/entities/alice/alice/please/contribute/recommended_community_standards/recommended_community_standards.py
index 2873a1b193..cc4d374e57 100644
--- a/entities/alice/alice/please/contribute/recommended_community_standards/recommended_community_standards.py
+++ b/entities/alice/alice/please/contribute/recommended_community_standards/recommended_community_standards.py
@@ -1,7 +1,8 @@
+import asyncio
import pathlib
import textwrap
import itertools
-from typing import NamedTuple, NewType, Optional
+from typing import NamedTuple, NewType, Optional, Type, Any
import dffml
@@ -183,6 +184,34 @@ class OverlayGitHub:
return remote
+async def context_adder(
+ self,
+ upstream_cls: Type[Any],
+ input_set_context: dffml.BaseInputSetContext,
+ value: Any,
+):
+ upstream = dffml.DataFlow(*dffml.object_to_operations(upstream_cls))
+ key, definition = list(self.parent.op.outputs.items())[0]
+ async with self.octx.ictx.definitions(self.ctx) as definitions:
+ await self.octx.ictx.cadd(
+ input_set_context,
+ dffml.Input(
+ value=value,
+ definition=definition,
+ parents=None,
+ origin=(self.parent.op.instance_name, key),
+ ),
+ *[
+ item
+ async for item in definitions.inputs()
+ if (
+ item.definition in upstream.definitions.values()
+ and item.definition not in self.parent.op.inputs.values()
+ )
+ ],
+ )
+
+
# NOTE Not sure if the orchestrator will know what to do if we do this
# ReadmeGitRepo = AliceGitRepo
class ReadmeGitRepo(NamedTuple):
@@ -204,6 +233,9 @@ class OverlayREADME:
# async def cli_run_on_repo(self, repo: "CLIRunOnRepo"):
async def alice_contribute_readme(self, repo: AliceGitRepo) -> ReadmeGitRepo:
+ # await context_adder(
+ # self, OverlayREADME, AliceGitRepoInputSetContext(repo), repo
+ # )
# TODO Clean this up once SystemContext refactor complete
readme_dataflow_cls_upstream = OverlayREADME
readme_dataflow_cls_overlays = dffml.Overlay.load(
How to help Alice contribute more filesThis tutorial will help you create a new Open Architecture / Alice
$ cp alice/please/contribute/recommended_community_standards/readme.py alice/please/contribute/recommended_community_standards/contribute.py
$ sed -e 's/Readme/Contributing/g' -e 's/README/CONTRIBUTING/g' -e 's/readme/contributing/g' -i alice/please/contribute/recommended_community_standards/contribute.py diff --git a/entities/alice/entry_points.txt b/entities/alice/entry_points.txt
index 129b2866a1..9e130cb3b2 100644
--- a/entities/alice/entry_points.txt
+++ b/entities/alice/entry_points.txt
@@ -9,6 +9,7 @@ CLI = alice.please.contribute.recomme
OverlayGit = alice.please.contribute.recommended_community_standards.recommended_community_standards:OverlayGit
OverlayGitHub = alice.please.contribute.recommended_community_standards.recommended_community_standards:OverlayGitHub
OverlayREADME = alice.please.contribute.recommended_community_standards.recommended_community_standards:OverlayREADME
+OverlayCONTRIBUTING = alice.please.contribute.recommended_community_standards.recommended_community_standards:OverlayCONTRIBUTING
# OverlayMetaIssue = alice.please.contribute.recommended_community_standards.recommended_community_standards:OverlayMetaIssue
[dffml.overlays.alice.please.contribute.recommended_community_standards.overlay.readme] dffml.git/entites/alice/entry_points.txt [dffml.overlays.alice.please.contribute.recommended_community_standards.overlay.contributing]
OverlayGit = alice.please.contribute.recommended_community_standards.recommended_community_standards:OverlayGit
OverlayGitHub = alice.please.contribute.recommended_community_standards.recommended_community_standards:OverlayGitHu
$ python -m pip install -e .
for pr in $(gh -R https://github.com/$USER/ pr list --json number --jq '.[].number'); do gh -R https://github.com/pdxjohnny/testaaaa pr close "${pr}"; done; (alice please contribute -log debug -repos https://github.com/pdxjohnny/testaaaa -- recommended community standards; gh -R https://github.com/pdxjohnny/testaaaa pr list Script to test Coach Alice Our Open Source Guide tutorial#!/usr/bin/env bash
set -x
set -e
# export USER=githubusername
export REPO_URL="https://github.com/$USER/my-new-python-project"
cd $(mktemp -d)
git clone --depth=1 -b alice https://github.com/intel/dffml dffml
cd dffml/entities/alice
python -m venv .venv
. .venv/bin/activate
python -m pip install -U pip setuptools wheel
python -m pip install \
-e .[dev] \
-e ../../ \
-e ../../examples/shouldi/ \
-e ../../feature/git/ \
-e ../../operations/innersource/ \
-e ../../configloader/yaml/
gh repo create -y --private "${REPO_URL}"
git clone "${REPO_URL}"
cd my-new-python-project
echo 'print("Hello World")' > test.py
git add test.py
git commit -sam 'Initial Commit'
git push --set-upstream origin $(git branch --show-current)
cd ..
rm -rf my-new-python-project
cp alice/please/contribute/recommended_community_standards/readme.py alice/please/contribute/recommended_community_standards/code_of_conduct.py
sed -e 's/Readme/CodeOfConduct/g' -e 's/README/CODE_OF_CONDUCT/g' -e 's/readme/code_of_conduct/g' -i alice/please/contribute/recommended_community_standards/code_of_conduct.py
sed -i 's/OverlayREADME .*/&\nOverlayCODE_OF_CONDUCT = alice.please.contribute.recommended_community_standards.code_of_conduct:OverlayCODE_OF_CONDUCT/' entry_points.txt
tee -a entry_points.txt << 'EOF'
[dffml.overlays.alice.please.contribute.recommended_community_standards.code_of_conduct]
OverlayGit = alice.please.contribute.recommended_community_standards.recommended_community_standards:OverlayGit
OverlayGitHub = alice.please.contribute.recommended_community_standards.recommended_community_standards:OverlayGitHub
EOF
python -m pip install -e .
alice please contribute -log debug -repos "${REPO_URL}" -- recommended community standards
gh -R "${REPO_URL}" pr list
# 343 Recommended Community Standard: README alice-contribute-recommended-community-standards-readme OPEN
# 341 Recommended Community Standard: CONTRIBUTING alice-contribute-recommended-community-standards-contributing OPEN
# 339 Recommended Community Standard: CODE_OF_CONDUCT alice-contribute-recommended-community-standards-code_of_conduct OPEN
for pr in $(gh -R "${REPO_URL}" pr list --json number --jq '.[].number');
do
gh -R "${REPO_URL}" pr close "${pr}"
done
$ find alice/please/ -type f | grep -v __init
alice/please/contribute/recommended_community_standards/contributing.py
alice/please/contribute/recommended_community_standards/cli.py
alice/please/contribute/recommended_community_standards/readme.py
alice/please/contribute/recommended_community_standards/meta_issue.py
alice/please/contribute/recommended_community_standards/recommended_community_standards.py TODOs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-08-22 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-08-22 @pdxjohnny Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-08-24 Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-08-24 @sedihglow Engineering Logs
$ sudo update-alternatives: using /usr/bin/python3.9 to provide /usr/local/bin/python (python) in auto mode
$ sudo apt-get update && sudo apt-get install -y tmux python3.9 python3-pip python3.9-venv python3.9-dev build-essential |
Beta Was this translation helpful? Give feedback.
All reactions
-
https://datatracker.ietf.org/doc/draft-ietf-rats-architecture/ |
Beta Was this translation helpful? Give feedback.
All reactions
-
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-08-29 @pdxjohnny Engineering Logs
Title: Software Supply Chain Security Guidance Under Executive Order (EO) 14028 Terminology |
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-08-30 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
2022-08-30 @pdxjohnny Engineering Logs
How to Publish an Alice Overlay
How to Contribute an Alice Overlay
Rolling Alice: 2022 Progress Reports: August Status Update
Rolling Alice: 2022 Progress Reports: August Activities Recap
|
Beta Was this translation helpful? Give feedback.
All reactions
-
Beta Was this translation helpful? Give feedback.
All reactions
-
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-05 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-06 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-06 @pdxjohnny Engineering Logs
GITEA_WORK_DIR=$HOME/.local/appdata forgejo web {
"issuer": "http://localhost:3000/",
"authorization_endpoint": "http://localhost:3000/login/oauth/authorize",
"token_endpoint": "http://localhost:3000/login/oauth/access_token",
"jwks_uri": "http://localhost:3000/login/oauth/keys",
"userinfo_endpoint": "http://localhost:3000/login/oauth/userinfo",
"introspection_endpoint": "http://localhost:3000/login/oauth/introspect",
"response_types_supported": [
"code",
"id_token"
],
"id_token_signing_alg_values_supported": [
"RS256"
],
"subject_types_supported": [
"public"
],
"scopes_supported": [
"openid",
"profile",
"email",
"groups"
],
"claims_supported": [
"aud",
"exp",
"iat",
"iss",
"sub",
"name",
"preferred_username",
"profile",
"picture",
"website",
"locale",
"updated_at",
"email",
"email_verified",
"groups"
],
"code_challenge_methods_supported": [
"plain",
"S256"
],
"grant_types_supported": [
"authorization_code",
"refresh_token"
]
}
echo AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA | python -m keyring set directus auth.forgejo.client_id
echo 'AAA_AAAAAAAAAA' | python -m keyring set directus auth.forgejo.client_secret export HOST_IP="$(ip address show docker0 | grep inet | awk '{print $2}' | sed -e 's/\/.*//g')" && \
echo 'using --net host so localhost' && \
export HOST_IP="localhost" && \
docker run \
-ti \
--rm \
-p 8055:8055 \
-e AUTH_FORGEJO_REDIRECT_ALLOW_LIST="http://localhost:8055/auth/login/forgejo" \
-e AUTH_FORGEJO_DRIVER="oauth2" \
-e AUTH_FORGEJO_AUTHORIZE_URL="http://${HOST_IP}:3000/login/oauth/authorize" \
-e AUTH_FORGEJO_ACCESS_URL="https://${HOST_IP}:3000/login/oauth/access_token" \
-e AUTH_FORGEJO_PROFILE_URL="https://${HOST_IP}:3000/api/user" \
-e AUTH_FORGEJO_CLIENT_ID="$(python -m keyring get directus auth.forgejo.client_id)" \
-e AUTH_FORGEJO_CLIENT_SECRET="$(python -m keyring get directus auth.forgejo.client_secret)" \
-e AUTH_PROVIDERS="forgejo" \
-e AUTH_DISABLE_DEFAULT=true \
-e PUBLIC_URL=https://localhost:3000 \
-e AUTH_FOREGOJO_ALLOW_PUBLIC_REGISTRATION=true \
--net host \
-e SECRET="$(head -n 99999 /dev/urandom | sha384sum - | awk '{print $1}')" \
directus/directus
|
Beta Was this translation helpful? Give feedback.
All reactions
-
Using UNIX domain sockets instead of TCP/IP loopback for local inter-process communication (IPC) provides several security and performance advantages. Here's a detailed look at why binding to UNIX sockets can be beneficial, particularly in terms of security and efficiency: Security Advantages of UNIX Domain Sockets
Performance Benefits
Comparison to Zero Trust ArchitectureUsing TCP/IP loopback still necessitates a robust security architecture like Zero Trust because the network stack is still involved, and potential vulnerabilities within it could be exploited. With Zero Trust, every connection is treated as potentially insecure, and continuous verification and strict access controls are applied. However, by using UNIX domain sockets, you leverage the operating system's built-in security mechanisms (like file permissions and credential passing) to add another layer of security, reducing the attack surface. In summary, while TCP/IP loopback requires comprehensive security measures to mitigate network-based risks, UNIX domain sockets offer a more secure and efficient alternative for local IPC by leveraging the file system and reducing the involvement of the network stack. For further reading, you might find the following resources useful: |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-07 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-07 @pdxjohnny Engineering Logs
alice.chadig.com {
redir "https://github.com/intel/dffml/discussions/1406?sort=new" temporary
}
github-webhook-notary.scitt.alice.chadig.com {
reverse_proxy http://localhost:7777
}
scitt.bob.chadig.com {
reverse_proxy http://localhost:6000
}
scitt.alice.chadig.com {
reverse_proxy http://localhost:7000
}
view.scitt.unstable.chadig.com {
reverse_proxy http://localhost:8001
}
scitt.unstable.chadig.com {
reverse_proxy http://localhost:8000
}
scitt.pdxjohnny.chadig.com {
reverse_proxy http://localhost:9000
}
git.pdxjohnny.chadig.com {
reverse_proxy http://localhost:3000
}
forgejo.pdxjohnny.chadig.com {
reverse_proxy http://localhost:3000
}
directus.pdxjohnny.chadig.com {
reverse_proxy http://localhost:8055
}
define.chadig.com {
respond "Cha-Dig: can you dig it? chaaaaaaa I can dig it!!!"
} ssh -nNT -R 127.0.0.1:3000:0.0.0.0:3000 [email protected]
ssh -nNT -R 127.0.0.1:8055:0.0.0.0:8055 [email protected] export FORGEJO_FQDN="git.pdxjohnny.chadig.com" \
&& export DIRECTUS_FQDN="directus.pdxjohnny.chadig.com" \
&& docker run \
-ti \
--rm \
-p 8055:8055 \
-e PUBLIC_URL="https://${DIRECTUS_FQDN}" \
-e AUTH_DISABLE_DEFAULT=true \
-e AUTH_PROVIDERS="forgejo" \
-e AUTH_FORGEJO_DRIVER="openid" \
-e AUTH_FORGEJO_CLIENT_ID="$(python -m keyring get directus auth.forgejo.client_id)" \
-e AUTH_FORGEJO_CLIENT_SECRET="$(python -m keyring get directus auth.forgejo.client_secret)" \
-e AUTH_FORGEJO_ISSUER_URL="https://${FORGEJO_FQDN}/.well-known/openid-configuration" \
-e AUTH_FORGEJO_IDENTIFIER_KEY="email" \
-e AUTH_FORGEJO_REDIRECT_ALLOW_LIST="https://${DIRECTUS_FQDN}/auth/login/forgejo/callback" \
-e AUTH_FORGEJO_ALLOW_PUBLIC_REGISTRATION=true \
-e AUTH_FORGEJO_DEFAULT_ROLE_ID="855add86-04b0-4074-93ed-3be14c14479c" \
-e SECRET="$(head -n 99999 /dev/urandom | sha384sum - | awk '{print $1}')" \
directus/directus
{
"issuer": "https://git.pdxjohnny.chadig.com/",
"authorization_endpoint": "https://git.pdxjohnny.chadig.com/login/oauth/authorize",
"token_endpoint": "https://git.pdxjohnny.chadig.com/login/oauth/access_token",
"jwks_uri": "https://git.pdxjohnny.chadig.com/login/oauth/keys",
"userinfo_endpoint": "https://git.pdxjohnny.chadig.com/login/oauth/userinfo",
"introspection_endpoint": "https://git.pdxjohnny.chadig.com/login/oauth/introspect",
"response_types_supported": [
"code",
"id_token"
],
"id_token_signing_alg_values_supported": [
"RS256"
],
"subject_types_supported": [
"public"
],
"scopes_supported": [
"openid",
"profile",
"email",
"groups"
],
"claims_supported": [
"aud",
"exp",
"iat",
"iss",
"sub",
"name",
"preferred_username",
"profile",
"picture",
"website",
"locale",
"updated_at",
"email",
"email_verified",
"groups"
],
"code_challenge_methods_supported": [
"plain",
"S256"
],
"grant_types_supported": [
"authorization_code",
"refresh_token"
]
} --entrypoint sh -v "${HOME}/.local/admin_role_id.txt:${HOME}/directus_admin_role_id.txt:ro" -v "${HOME}/.local/directus.sqlite3:${HOME}/database/database.sqlite:rw"
set -x && node cli.js bootstrap && while [ ! -f admin_role_id.txt ]; do sleep 0.01; done && export AUTH_FORGEJO_DEFAULT_ROLE_ID=$(cat admin_role_id.txt) && pm2-runtime start ecosystem.config.cjs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-07 Metaschema
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-08 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-08 @pdxjohnny Engineering Logsexport FORGEJO_FQDN="git.pdxjohnny.chadig.com" \
&& export DIRECTUS_FQDN="directus.pdxjohnny.chadig.com" \
&& rm -fv \
"${HOME}/.local/directus.sqlite3" \
"${HOME}/.local/directus_admin_role_id.txt" \
&& (
set -x; \
referesh_role_id() {
export DIRECTUS_ADMIN_ROLE_ID=$(echo 'SELECT id from directus_roles;' \
| sqlite3 ${HOME}/.local/directus.sqlite3 \
| tee ${HOME}/.local/directus_admin_role_id.txt); \
}; \
referesh_role_id; \
while [ "x" = "x${DIRECTUS_ADMIN_ROLE_ID}" ]; do \
sleep 5; \
referesh_role_id; \
done; \
set +x; \
) & \
docker run \
-ti \
--rm \
-p 8055:8055 \
-e PUBLIC_URL="https://${DIRECTUS_FQDN}" \
-e AUTH_DISABLE_DEFAULT=true \
-e AUTH_PROVIDERS="forgejo" \
-e AUTH_FORGEJO_DRIVER="openid" \
-e AUTH_FORGEJO_CLIENT_ID="$(python -m keyring get directus auth.forgejo.client_id)" \
-e AUTH_FORGEJO_CLIENT_SECRET="$(python -m keyring get directus auth.forgejo.client_secret)" \
-e AUTH_FORGEJO_ISSUER_URL="https://${FORGEJO_FQDN}/.well-known/openid-configuration" \
-e AUTH_FORGEJO_IDENTIFIER_KEY="email" \
-e AUTH_FORGEJO_REDIRECT_ALLOW_LIST="https://${DIRECTUS_FQDN}/auth/login/forgejo/callback" \
-e AUTH_FORGEJO_ALLOW_PUBLIC_REGISTRATION=true \
-e SECRET="$(head -n 99999 /dev/urandom | sha384sum - | awk '{print $1}')" \
--entrypoint sh \
-v "${HOME}/.local/directus_admin_role_id.txt:/directus/admin_role_id.txt:z" \
-v "${HOME}/.local/directus.sqlite3:/directus/database/database.sqlite:z" \
directus/directus \
-c \
'set -x && node cli.js bootstrap && while [ "x$(cat admin_role_id.txt)" = "x" ]; do sleep 10; done && export AUTH_FORGEJO_DEFAULT_ROLE_ID=$(cat admin_role_id.txt) && pm2-runtime start ecosystem.config.cjs'
sequenceDiagram
participant Client
participant User
participant AuthServer as Authorization Server
participant ResourceServer as Resource Server
User->>Client: Access Client Application
Client->>AuthServer: Redirect to /authorize
AuthServer->>User: Prompt for Login and Consent
User->>AuthServer: Login and Consent
AuthServer->>Client: Redirect to callback URL (authorization_code)
Client->>AuthServer: POST /token (authorization_code, client_id, client_secret)
AuthServer->>Client: 200 OK (access_token)
Client->>ResourceServer: GET /resource (access_token)
ResourceServer->>Client: 200 OK (protected resource)
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-09 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-09 @pdxjohnny Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-10 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
Do you know who Alice the AI software developer from the DFFML project is? As of my last update in April 2023, there isn't a widely recognized figure or AI software developer named Alice specifically associated with the DFFML (Data Flow Facilitator for Machine Learning) project. The DFFML project is an open-source initiative aimed at simplifying and streamlining the process of integrating machine learning models into software development workflows. It's designed to facilitate the use of machine learning models by making them more accessible and easier to implement within various software projects. The development and maintenance of open-source projects like DFFML typically involve contributions from a diverse and dynamic community of developers, which can include individuals from around the globe with varying levels of involvement and recognition. It's possible that "Alice" could be a contributor or a fictional persona representing the collaborative spirit of the open-source community involved in the DFFML project or a similar initiative. However, without more specific information, it's challenging to provide details about an individual's contributions or roles within the project. If you're interested in the DFFML project or the contributions of specific individuals within the open-source machine learning community, I recommend checking the official DFFML GitHub repository or community forums. These platforms often provide insights into the contributors, their roles, and the various ways individuals can get involved in the project. |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-11 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-11 @pdxjohnny Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-12 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
gh api graphql -f query='
query {
repository(owner: "intel", name: "dffml") {
dependencyGraphManifests {
totalCount
nodes {
blobPath
dependencies {
totalCount
nodes {
packageName
requirements
}
}
}
}
}
}
{
"data": {
"repository": {
"dependencyGraphManifests": {
"totalCount": 60,
"nodes": [
{
"blobPath": "/intel/dffml/blob/main/pyproject.toml",
"dependencies": {
"totalCount": 0,
"nodes": []
}
},
{
"blobPath": "/intel/dffml/blob/main/requirements-dev.txt",
"dependencies": {
"totalCount": 22,
"nodes": [
{
"packageName": "autoflake",
"requirements": ""
},
{
"packageName": "black",
"requirements": "= 24.4.2"
},
{
"packageName": "codecov",
"requirements": ""
},
{
"packageName": "coverage",
"requirements": ""
},
{
"packageName": "httptest",
"requirements": ">= 0.0.17"
},
{
"packageName": "ipykernel",
"requirements": ""
},
{
"packageName": "ipython",
"requirements": ""
},
{
"packageName": "ipywidgets",
"requirements": ""
}, |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-13 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-14 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-15 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-15 @pdxjohnny Engineering Logs
$ git grep -i GHSA
TRIAGE.vex: "id": "GHSA-h588-76vg-prgj",
TRIAGE.vex: "url": "https://osv.dev/list?ecosystem=&q=GHSA-h588-76vg-prgj"
TRIAGE.vex: "url": "https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator?name=GHSA-h588-76vg-prgj&vector=unknown&version=2.0"
TRIAGE.vex: "id": "GHSA-qgrp-8f3v-q85p",
TRIAGE.vex: "url": "https://osv.dev/list?ecosystem=&q=GHSA-qgrp-8f3v-q85p"
TRIAGE.vex: "url": "https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator?name=GHSA-qgrp-8f3v-q85p&vector=unknown&version=2.0"
TRIAGE.vex: "id": "GHSA-r7cj-wmwv-hfw5",
TRIAGE.vex: "url": "https://osv.dev/list?ecosystem=&q=GHSA-r7cj-wmwv-hfw5"
TRIAGE.vex: "url": "https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator?name=GHSA-r7cj-wmwv-hfw5&vector=unknown&version=2.0"
Binary file presentation/PyCon2020/Using_Python_to_Detect_Vulnerabilities_in_Binaries-Pycon2020.pptx matches
Binary file test/condensed-downloads/dhcp-client-4.4.3-5.P1.fc38.aarch64.rpm.tar.gz matches
test/test_source_osv.py: "aliases": ["CVE-2018-20133", "GHSA-8r8j-xvfj-36f9"],
test/test_source_osv.py: "url": "https://github.com/advisories/GHSA-8r8j-xvfj-36f9", cve-bin-tool -u now --log debug $(mktemp -d)
cve-bin-tool --export-json db.json -u never
jq < db.json/cve_range/2008.json {
"cve_number": "CVE-2008-6024",
"vendor": "sun",
"product": "opensolaris",
"version": "snv_03",
"versionStartIncluding": "",
"versionStartExcluding": "",
"versionEndIncluding": "",
"versionEndExcluding": "",
"data_source": "NVD"
}
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-16 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-17 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-17 @pdxjohnny Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-18 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-18 @pdxjohnny Engineering Logs
|
Beta Was this translation helpful? Give feedback.
All reactions
-
Upstream First Development in Federated Software Forges
IntroductionIn a federated environment where various software forges like Gitea, GitLab, and GitHub interact similarly to social platforms like Threads and Mastodon via ActivityPub, the practice of "upstream first" development can be efficiently managed. This document outlines how these federated forges can form ad-hoc organizations to pursue shared strategic principles and plans while adhering to the upstream first development model using a GitHub pull request style workflow. Key ConceptsFederation of Software ForgesFederation allows independent software forges to communicate and collaborate seamlessly. Each forge retains its autonomy while contributing to a larger ecosystem. This is similar to how social networks federate, enabling users from different platforms to interact. Federation in the context of software development means:
Upstream First DevelopmentThis development practice involves contributing changes, enhancements, or bug fixes to the original project (upstream) before integrating them into downstream projects or forks. It promotes:
Workflow for Upstream First Development1. Identify and Plan the ChangeShared Strategic Principles and PlansFederated forges often form ad-hoc organizations to pursue common goals. These organizations should identify strategic principles and plans guiding their development efforts. These principles might include:
Issue TrackingUse a federated issue tracking system to identify and discuss the change needed. Each forge can contribute to the discussion regardless of where the issue was originally reported. This can be managed through:
2. Develop the ChangeLocal DevelopmentDevelopers work on their local forks or branches of the project. Ensure the changes align with the upstream project's guidelines and standards. Best practices include:
Collaborative EffortUtilize federation capabilities to collaborate with developers across different forges. Tools like federated code review and discussion can be beneficial here. Techniques include:
3. Submit a Pull Request (PR)Upstream RepositoryOnce the change is ready, submit a pull request to the upstream repository. This is done in the forge where the original project is hosted. Key steps include:
Federated PRsFederated forges should support cross-forge pull requests, allowing a pull request from a repository on one forge to be reviewed and merged into a repository on another forge. This involves:
4. Review and CollaborateCode ReviewEngage in a thorough code review process. Federated forges can allow reviewers from different platforms to comment and approve changes. Best practices include:
Continuous IntegrationUtilize CI/CD pipelines that work across federated environments to ensure changes meet quality standards. This involves:
5. Merge and IntegrateUpstream MergeOnce the pull request is approved, it is merged into the upstream project. This ensures the change benefits the entire community. Steps include:
Downstream SynchronizationDownstream projects can then pull the latest changes from the upstream project. This keeps all forks and derivatives up-to-date with the latest improvements. This involves:
6. Communication and DocumentationFederated CommunicationUse federated communication tools to keep all stakeholders informed about the progress and integration of changes. This includes:
Documentation UpdatesEnsure that any changes are well-documented. Documentation should be accessible across all federated forges. This involves:
Benefits of This Workflow
ConclusionBy adopting an upstream first development practice in a federated environment, software forges can collaborate more effectively and ensure that improvements benefit the broader community. This workflow, modeled on the GitHub pull request style, leverages the strengths of federation to create a more cohesive and high-quality software development ecosystem. For more details on federation and how to get involved, visit the Forgejo Project. |
Beta Was this translation helpful? Give feedback.
All reactions
-
2024-06-19 Engineering Logs |
Beta Was this translation helpful? Give feedback.
All reactions
-
|
Beta Was this translation helpful? Give feedback.
-
These are the engineering logs of entities working on Alice. If you
work on Alice please use this thread as a way to communicate to others
what you are working on. Each day has a log entry. Comment with your
thoughts, activities, planning, etc. related to the development of
Alice, our open source artificial general intelligence.
This thread is used as a communication mechanism for engineers so that
others can have full context around why entities did what they did
during their development process. This development lifecycle data helps
us understand more about why decisions were made when we re-read the
code in the future (via cross referencing commit dates with dates in
engineering logs). In this way we facilitate communication across
both time and space! Simply by writing things down. We live an an
asynchronous world. Let's communicate like it.
We are collaboratively documenting strategy and implementation as
living documentation to help community communicate amongst itself
and facilitate sync with potential users / other communities /
aligned workstreams.
git grep -i
friendly format: https://github.com/intel/dffml/tree/main/docs/discussions/alice_engineering_commsEngineering Log Process
right before it would be synthesized to markdown, we then run updates and trigger
update of the comment body. Eventually we won't use GitHub and just DID based stuff.
We'll treat these all as trains of thought / chains of system contexts / state of the
art fields.
where it falls through the base.
and drop ones which do are unhelpful, do not make the classification for "good"
(per prioritizer)
predicted/inferred system contexts along this line are well rounded examples of
where the field is headed, per upstream and overlay defined strategic plans
and strategic principles
$ git grep -C 5 -i principle -- docs/arch/
date
Union[str, Date]
2022-07-18
did:oa:architype:current-date
date
with "Notes" appended![chaos-for-the-chaos-god](https://github.com/intel/dffml/assets/5950433/636969a1-1f0f-4c96-8812-f10fa403e79c)
![oci-all-the-things](https://user-images.githubusercontent.com/5950433/222979759-0dd374b2-ee5f-4cbc-92d1-5cb8de078ee8.png)
![knowledge-graphs-for-the-knowledge-god](https://user-images.githubusercontent.com/5950433/222981558-0b50593a-c83f-4c6c-9aff-1b553403eac7.png)
![live-demo-for-the-live-demo-god](https://user-images.githubusercontent.com/5950433/226699339-45b82b38-a7fc-4f2f-a858-e52ee5a6983d.png)
![such-alignment](https://user-images.githubusercontent.com/5950433/226707682-cfa8dbff-0908-4a34-8540-de729c62512f.png)
![hash-values-everywhere](https://user-images.githubusercontent.com/5950433/230648803-c0765d60-bf9a-474a-b67e-4b4177dcb15c.png)
Beta Was this translation helpful? Give feedback.
All reactions